core: Inline mallocing wrapper functions

As far as I can tell, this doesn't make rust compile any
faster, but it does at least remove one level of indirection
on malloc, which might help speed up some operations.
std: change Decoder::read_option to return a generic type

This allows read_option to be used with a custom option type instead
of just core::Option.
std: remove prettyprint

Everyone uses fmt!("%?", ...) instead of the prettyprint
module, so I'm removing this file.
core: add LinearMap::with_capacity
std: remove Encoder::emit_{owned,managed}_str and Decoder::read_{owned,managed}_str
std: remove Encoder::emit_{owned,managed} and Decoder::read_{owned,managed}
std: remove Encoder::emit_{owned,managed}_vec and Decoder::read_{owned,managed}_vec
std: remove Encoder::emit_tup{,_elt} and Decoder::read_tup{,_elt}
std: remove Encoder::read_rec and Decoder::emit_rec
core: add consume_reverse
std: add Encoder::emit_map and Decoder::read_map
Merge remote-tracking branch 'remotes/origin/incoming' into serial
std: fix json deserializing vectors and a test
Merge remote-tracking branch 'remotes/origin/incoming' into serial
tutorial: use "owned box" consistently
Stop building clang

Removing it from the tree is an ordeal and there is no official way
to disable clang via LLVM's Makefiles so this edits the Makefile
in llvm/tools after running configure.
Register snapshots
auto merge of #5615 : brson/rust/noclang, r=brson

r? @graydon

Closes #5403
auto merge of #5623 : brson/rust/snapshot, r=brson
tutorial: improve the owned boxes section