Use cargo. Make it run on 0.12.0-pre-nightly

This commit changes the build system to the brand spanking new cargo.
Cargo is a lot nicer for simpletons like me to understand and actually
works pretty well!

I also updated the code to work with the newest version. There's been
some string changes and also the addition of PartialEq. As far as I can
tell PartialEq is needed for Eq. I just hacked it till it worked!