Add Version.nextBreaking and "^" operator

Rather than checking `constraints` here, just parse `^` before the `while` loop.