auto merge of #19961 : alexcrichton/rust/second-pass-result, r=aturon

This commit, like the second pass of `Option`, largely just stablizes the
existing functionality after renaming a few iterators.

The specific actions taken were:

* The `Ok` and `Err` variants were marked `#[stable]` as the stability
  inheritance was since removed.
* The `as_mut` method is now stable.
* The `map` method is now stable
* The `map_err` method is now stable
* The `iter`, `iter_mut`, and `into_iter` methods now returned structures named
  after the method of iteration. The methods are also now all stable.
* The `and_then` method is now stable.
* The `or_else` method is now stable.
* The `unwrap` family of functions are now all stable: `unwrap_or`,
  `unwrap_or_else`, `unwrap`, and `unwrap_err`.

There is a possible open extension to `Result::{and, and_then}` to make the
return type further generic over `FromError` (as proposed in #19078), but this
is a backwards compatible change due to the usage of default type parameters,
which makes the two functions safe to stabilize now regardless of the outcome of
that issue.
Test fixes and rebase conflicts
auto merge of #20104 : alexcrichton/rust/rollup, r=alexcrichton
rustc_typeck: don't expect rvalues to have unsized types.
syntax: format: remove unused method_statics field.
syntax: format: put static arrays in their own blocks to avoid needing a wrapper block.
syntax: turn the match-call generated by format_args inside-out.
syntax: use std::string::String unqualified in format.
syntax: change format_args! to produce fmt::Arguments instead of calling a function with them.
Fallout of changing format_args!(f, args) to f(format_args!(args)).