add compare for version comparison / sorting (with npm-compatible prerelease ordering)
add max-satisfying for resolving the latest version in a list satisfying a range
add valid / valid-range for syntax check
bug fix:
fix fit: a version with a larger higher-significance component but smaller
lower component was wrongly rejected (e.g. fit(\"1.5.0\", \"^1.3.2\") returned false)
fix fit: prerelease versions no longer satisfy release-only ranges;
caret now locks the left-most non-zero component (npm semantics)
fix parse: build metadata (1.2.3+build.1) is now captured separately instead of
corrupting the patch component; it never affects precedence (semver spec)
tweaks:
add build / test npm scripts; rewrite test with assertions