Add a cargo-doc command

This is blocked until https://github.com/rust-lang/rust/pull/15939 lands, but in the meantime I figured I could get some eyes on this to make sure I'm sane.

Closes #130
I figured I'd duplicate what rust does in that `doc` is the build directory while `src/doc` is where handwritten documentation goes. Currently the build output of `cargo doc` (libraries and such) is placed in `target/doc`, but that could move to `target/doc-build` if we want.

I also figured that "target" implies "build artifacts from the compiler" less so than "documentation"