v4

1. Revert `^` behavior to SemVer 2.x.
2. Handle prereleases in less surprising ways.
3. Document desugaring advanced range syntax to simple comparators.
It's not clear whether `>1.2.3-alpha.3` matches `3.4.5`.