Parse a string spec and return a rich Version object.
A parsed Version containing the major, minor, and patch fields.
if the provided spec is not a semantic version.