rustdoc: Avoid rendering foreign items to the sidebar.

Otherwise the generated documentation is 30% larger. The sidebar
renders an entry for each item to all items, so large modules have
O(n^2) items rendered in the sidebars. Not a correct solution, but
at least it works.
test: Ignore issue-19501 pretty for now

I don't have enough time to investigate this thoroughly, so for now let's get
the queue moving by ignoring this test.

cc #19501
Remove feature gates for `if let`, `while let`, and tuple indexing

Closes #19469
make fmt_macros and rustdoc have standard doc attributes
auto merge of #19502 : alexcrichton/rust/issue-19501, r=sfackler

I don't have enough time to investigate this thoroughly, so for now let's get
the queue moving by ignoring this test.

cc #19501
whitespace cleanup
rustup: make rustup executable
rustup: probe for the existance of tar
rustup: add a RUST_ prefix to the rust-specific variables
rustup: rename TMP_DIR to CFG_TMP_DIR
rustup: factor out the install flags into a CFG_INSTALL_FLAGS variable
auto merge of #18749 : nikomatsakis/rust/builtin-bounds-like-other-traits, r=pcwalton

Treat builtin bounds like all other kinds of trait matches. Introduce a simple hashset in the fulfillment context to catch cases where we register the exact same obligation twice. This helps prevent duplicate error reports but also handles the recursive obligations created by builtin bounds.

r? @pcwalton 
cc @FlaPer87
syntax: support ES6-style unicode escapes

First half of bootstrapping https://github.com/rust-lang/rfcs/pull/446
rustup: factor out downloading and extracting the snapshot tarballs
rustup: factor out installing packages into a function
rustup: rewrite to protect against truncation

This closes #19168. It's possible that if the downloading of `rustup.sh`
is interrupted, bad things could happen, such as running a naked
"rm -rf /" instead of "rm -rf /path/to/tmpdir". This wraps rustup.sh's
functionality in a function that gets called at the last time that should
protect us from these truncation errors.
rustup: extract the tarballs as part of installation
rustup: simplify downloading packages
Make the parser’s ‘expected <foo>, found <bar>’ errors more accurate

As an example of what this changes, the following code:

    let x: [int ..4];

Currently spits out ‘expected `]`, found `..`’. However, a comma would also be
valid there, as would a number of other tokens. This change adjusts the parser
to produce more accurate errors, so that that example now produces ‘expected one
of `(`, `+`, `,`, `::`, or `]`, found `..`’.
auto merge of #18770 : pczarn/rust/hash_map-explicit-shrinking, r=Gankro

Part of enforcing capacity-related conventions, for #18424, the collections reform.

Implements `fn shrink_to_fit` for HashMap.
The `reserve` method now takes as an argument the *extra* space to reserve.