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?
I like this organization, but `semver::version::Version` is a bit long, could these be private submodules with all of their public contents reexported at the top of the crate?