This adds the posibility of saving an SVG badge generated by the same
shields.io dirictly to the gist. Instead of prepering a JSON file to
be sent to their service, we use their library directly, which outputs
an SVG file that we can save to the user’s gist.
Filenames ending in `.svg` will use this library automatically.
Additionally there is a major refactoring where the older `node:http`
library has been swapped out for `fetch`.
Also swap from node 16 to node 20
fixes#24