make rustdoc more responsive

* move some sidebar contents to a title bar when small
* inline description toggle when small
* make out-of-band and in-band content share space, rather than float and clash
* compress wording of out-of-band content to avoid line-wrap as much as possible
Merge commit '881bfb1a180a1b545daa9da1539ec4c8ebda7ed1' into rollup
Merge commit '74ae05ad90d1e809663702f374bba6e62671692c' into rollup
Merge commit 'cb8bd83888cddc37c912be648ce5a814b08ceb25' into rollup
Merge commit 'c6c3f47f7c72ddf45ba1bf6bae6bec3699d7212e' into rollup
Merge commit 'd92eaf0273af8c09112f951b2f483505b2f3e8c9' into rollup
Merge commit '3b41f3256228ffb01225eab671ef301aa18337d7' into rollup
auto merge of #16308 : alexcrichton/rust/rollup, r=alexcrichton
auto merge of #16225 : pczarn/rust/iter-refactoring, r=kballard

Simplifying the code of methods: `nth`, `fold`, `rposition`, and iterators: `Filter`, `FilterMap`, `SkipWhile`.

```
before
test iter::bench_multiple_take      ... bench:        15 ns/iter (+/- 0)
test iter::bench_rposition          ... bench:       349 ns/iter (+/- 94)
test iter::bench_skip_while         ... bench:       158 ns/iter (+/- 6)

after
test iter::bench_multiple_take      ... bench:        15 ns/iter (+/- 0)
test iter::bench_rposition          ... bench:       314 ns/iter (+/- 2)
test iter::bench_skip_while         ... bench:       107 ns/iter (+/- 0)
```
@koalazen has the code for `Skip`.

Once #16011 is fixed, `min_max` could use a for loop.
auto merge of #16291 : nham/rust/byte_literals, r=alexcrichton

This replaces many instances chars being casted to u8 with byte literals.
libcollections: Fix RingBuf growth for non-power-of-two capacities
Char::from_digit signature fix
auto merge of #16306 : pnkfelix/rust/fsk-ast-refactor-PatWild, r=alexcrichton

AST refactoring: merge PatWild and PatWildMulti into one variant with a flag
auto merge of #16316 : forticulous/rust/char-Fix, r=alexcrichton

Signature for `from_digit` in `Char` wasn't using `Self` so there was no way to use this method
Fix typo in the tutorial
auto merge of #16220 : tshepang/rust/temp, r=steveklabnik
windows: Fix several tests on 64-bit.

Signed-off-by: Peter Atashian <retep998@gmail.com>
Temporary bootstrapping hack: introduce syntax for r egion bounds like `'b:'a`,
meaning `'b outlives 'a`. Syntax currently does nothing but is needed for full
fix to #5763. To use this syntax, the issue_5763_bootstrap feature guard is
required.
auto merge of #16318 : nikomatsakis/rust/issue-5723-bootstrap-2, r=pnkfelix

Introduce syntax for lifetime bounds like `'b:'a`, meaning `'b outlives 'a`. Syntax currently does nothing but is needed for full fix to #5763. To use this syntax, the issue_5763_bootstrap feature guard is required.
rustc: gensym the module names for --test to avoid introducing user-accessible names.

This requires avoiding `quote_...!` for constructing the parts of the
__test module, since that stringifies and reinterns the idents, losing
the special gensym'd nature of them. (#15962.)