"The Rust Programming Language," Take II

An updated version of https://github.com/rust-lang/rust/pull/19461

This version vendors aturon/rust-book@731f7bf and builds it when building the docs. This is almost great, except my `make`-foo is poor, so I have my own personal paths in `mk/docs.mk`. How should I best get around that?

/cc @brson 
The DOCS variable is used both to generate these docs but also [to test them](https://github.com/rust-lang/rust/blob/master/mk/tests.mk#L821). I don't see in this patch a mechanism that keeps the book tested.

I might suggest adding a variable `TEST_DOCS=$DOCS $(wildcard $src/doc/trpl/*)` and using `TEST_DOCS` in `test.mk` to drive the doc testing (though istm that rustbook might want to learn to `--test` itself someday).