Update and stabilize SemVer

http://discuss.rust-lang.org/t/stabilizing-semver/376/18 got a lot of discussion, but kinda died out.

What do you think?
Overall, I'm a little uncomfortable about this module. There's not much discussion of the syntax of version requirements or the operators that can be used. I don't think that `"*"` parses, and I'm not sure what `^` and `~` do. I believe this was half-implemented in cargo to get it off the ground, but I believe there's still a good deal of functionality missing from this module (implementations of most operators, etc). This TODO for tests is also a little worrisome...

I think @carllerche would know more about the state of this module, but it may still be a bit premature without some tuning up and fixing of some bugs.