Add Encodable and Decodable for VecMap
Rogue 'panic' -> 'fail' in guide.

Should refer to handling panicking tasks like any other computation
that may _fail_, not any other computation that may _panic_.
Document ast::Ty_
note the intent of reforming task spawning
rustdoc: revise method counts in stability summary

Previously, the stability summary page attempted to associate impl
blocks with the module in which they were defined, rather than the
module defining the type they apply to (which is usually, but not
always, the same). Unfortunately, due to the basic architecture of
rustdoc, this meant that impls from re-exports were not being counted.

This commit makes the stability summary work the same way that rustdoc's
rendered output does: all methods are counted alongside the type they
apply to, no matter where the methods are defined.

In addition, for trait impl blocks only the stability of the overall
block is counted; the stability of the methods within is not
counted (since that stability level is part of the trait definition).

Fixes #18812
auto merge of #18813 : csherratt/rust/add-encode-decode-vecmap, r=alexcrichton
auto merge of #18833 : slashgrin/rust/patch-1, r=brson

Should refer to handling panicking tasks like any other computation
that may _fail_, not any other computation that may _panic_.
auto merge of #18841 : Manishearth/rust/doc-ty, r=alexcrichton

I'll probably start documenting the rest of `syntax::ast` whenever I get time.
auto merge of #18854 : thestinger/rust/spawn, r=aturon

cc https://github.com/rust-lang/rust/issues/18000
auto merge of #18860 : aturon/rust/reexports-in-stab-summary, r=brson

Previously, the stability summary page attempted to associate impl
blocks with the module in which they were defined, rather than the
module defining the type they apply to (which is usually, but not
always, the same). Unfortunately, due to the basic architecture of
rustdoc, this meant that impls from re-exports were not being counted.

This commit makes the stability summary work the same way that rustdoc's
rendered output does: all methods are counted alongside the type they
apply to, no matter where the methods are defined.

In addition, for trait impl blocks only the stability of the overall
block is counted; the stability of the methods within is not
counted (since that stability level is part of the trait definition).

Fixes #18812
Try to remove ty_nil, some kind of error in exhaustiveness checking
Complete the removal of ty_nil, ast::LitNil, ast::TyBot and ast::TyUniq

[breaking-change]

This will break any uses of macros that assumed () being a valid literal.
Update tests accordingly
Update the reference