Clarify version comparisons

This is cherry picked from #103 and attempts to clarify precedence.

This clarifies a couple of things.

1. How to compare pre-release versions with differing number of identifiers.
2. How the left-to-right comparison of identifiers relates to the comparison of the whole version.

For example, while the following is implied because it's so obvious, SemVer never really made it clear that 1.9.0 < 2.1.1. It only specifies how each identifier is compared.

The second commit in this PR attempts to clarify how the comparison of each identifier relates to the comparison of the whole version. Does this seem necessary or is it implied elsewhere? Can the language be improved?

/cc @isaacs