Add Version.nextBreaking and "^" operator

No, I think it's fine to consider `^1.2.3` equal to `>=1.2.3 <2.0.0`.