Implemented semver 1 with predicates.

Settled for semver 1, since this is the one currently used by
everybody. We added support for all predicates we know about and took
node-semver behaviour as authorative in corner cases.