RFC: Overhaul of version.jl

This is a part of my codespeed work.  I need access to precise data on the version of Julia I am running inside of, so I overhauled `version.jl` and `build_h.jl` to provide it in the form of Julia data structures.  Because `build_h.jl` is loaded so early on in `sysimg.jl`, I can't do things like just define `VERSION` as a `VersionNumber` straight up, I instead have to define `VERSION_STRING` and then construct `VERSION` off of him later on, but that isn't the end of the world.

~~I also have a commit in here changing `VERSION` to 0.2-prerelease, mostly just to ask if that's something that is -reasonable to do.~~