librustc: Remove a bunch of `@` boxes from `Match`.

This will be needed to add `'static` bounds to `@`.
auto merge of #7871 : pcwalton/rust/de-at-match, r=brson

This will be needed to add `'static` bounds to `@`.

r? @nikomatsakis
iterator: impl DoubleEndedIterator for adaptors
remove dead take glue code paths

Closes #7888
updated manual
PR #7637 followup: no need to print the set of removed files twice.
Reorganize README to make it more clear.

This also adds a note about required memory usage and instructions for
building from Git.
std: Remove old magic core mod
Added a new method to extra::future (unwrap) + a test
Merge pull request #7897 from thestinger/double

rollup of small pull requests

404de4f r=huonw
0cdb0a2 r=pcwalton
b082302 r=sanxiyn
b6a0138 r=huonw
8d64fa3 r=graydon
ddd8c15 r=thestinger
eb74f0c r=thestinger
Move formatting stuff into libcore+libsyntax
Get writef! stuff compiling
Change to better format method calls
fmt: move formatting some logic to core::fmt, enhance the default impls
Parser is more flexible and better tested now