Parse a version number of the form "major.minor.bugfix.prerelease".
"major.minor.bugfix.prerelease"
Part ".bugfix" and part ".prerelease" are optional. Note that this is forwards compatible: the parsed version does not have to exist as a constant.
".bugfix"
".prerelease"