Clean update to semver 2.0.0

Updated to support the following changes from semver 2.0.0-rc.1 to semver 2.0.0:

1.  Leading zeros are specifically not allowed in normal version numbers.
2.  Leading zeros and empty identifiers are not allowed in pre-release identifiers.

For pragmatic reasons (display and tooling), we continue to use build metadata for sorting.

@schisamo