v4

1. Revert `^` behavior to SemVer 2.x.
2. Handle prereleases in less surprising ways.
3. Document desugaring advanced range syntax to simple comparators.
+1 good doc addition. Needs some education effort around this. Probably makes sense to take a more in-depth look at <1 in the nodesource blog semver series (we have a `^` article coming out tomorrow).