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
Merge remote-tracking branch 'remotes/origin/incoming' into serial
std: add serialization support for dlist, linearset, triemap, trieset, treemap, and treeset
Merge remote-tracking branch 'remotes/origin/incoming' into serial
std: Add Deque::eachi and a Deque serializer support
Add AbiSet and integrate it into the AST.

I believe this patch incorporates all expected syntax changes from extern
function reform (#3678). You can now write things like:

    extern "<abi>" fn foo(s: S) -> T { ... }
    extern "<abi>" mod { ... }
    extern "<abi>" fn(S) -> T

The ABI for foreign functions is taken from this syntax (rather than from an
annotation).  We support the full ABI specification I described on the mailing
list.  The correct ABI is chosen based on the target architecture.

Calls by pointer to C functions are not yet supported, and the Rust type of
crust fns is still *u8.
auto merge of #5631 : brson/rust/abiset, r=brson,brson

Continuing #5421