syntax: make match arms store the expr directly.

Previously `ast::Arm` was always storing a single `ast::Expr` wrapped in an
`ast::Block` (for historical reasons, AIUI), so we might as just store
that expr directly.

Closes #3085.
Implemented checked arithmetic for Big(U)Ints
std: add reserve_additional and an Extendable impl to Vec.
auto merge of #12673 : huonw/rust/extendable-vec, r=Aatch

std: add reserve_additional and an Extendable impl to Vec.
Register new snapshots

This should fix the travis builds.
auto merge of #12674 : alexcrichton/rust/snapshots, r=Aatch

This should fix the travis builds.
auto merge of #12672 : korenchkin/rust/checked-bigint, r=alexcrichton
auto merge of #12669 : huonw/rust/de-block-arms, r=alexcrichton

syntax: make match arms store the expr directly.

Previously `ast::Arm` was always storing a single `ast::Expr` wrapped in an
`ast::Block` (for historical reasons, AIUI), so we might as just store
that expr directly.

Closes #3085.
rustc: Streamline error messages for i18n, using `plural` whenever possible.
auto merge of #12678 : lifthrasiir/rust/pluralize, r=alexcrichton

While we are not yet ready for compiler i18n, this also keeps the error handling code clean. The set of altered error messages was obtained by grepping for `"s"` and `(s)`, so there might be some missing messages.
create a sensible comparison trait hierarchy

* `Ord` inherits from `Eq`
* `TotalOrd` inherits from `TotalEq`
* `TotalOrd` inherits from `Ord`
* `TotalEq` inherits from `Eq`

This is a partial implementation of #12517.