Pay down tech debt from conversion to Semver
There's a bunch of FIXMEs littered throughout the project from switching to use Semver crate for full parsing of semver ranges. Many of these are hacks around corner cases (like if the URL is wrong for downloading a node version, we don't abort on 404). They will probably cause nasty surprises and most are easy to clean up.