new class for Version (and VersionRange) parsing.