Merge pull request #16486 from bradcray/simplifyVersion
Version module simplification: one type rather than two
[reviewed by @ronawho]
This is an attempt to simplify the Version module by unifying down to a single type with empty or non-empty commit values rather than distinguishing these using two types (a semantic version vs. a source version) as we had before.
For the most part, this was a simple change, where the biggest effort was rewriting the docs. I also reworded the error message slightly to reflect not having to distinguish between different representations of versions.