collections: deprecate BTree.

This is very half-baked at the moment and very inefficient, e.g.
inappropriate use of by-value `self` (and thus being forced into an
overuse of `clone`). People get the wrong impression about Rust when
using it, e.g. that Rust cannot express what other languages can because
the implementation is inefficient.
Add new keywords (particularly `where` & `virtual`) to editor modes.
Fix an error in a code sample in bitv.rs
auto merge of #16543 : huonw/rust/deprecated-btree, r=alexcrichton

This is very half-baked at the moment and very inefficient, e.g.
inappropriate use of by-value `self` (and thus being forced into an
overuse of `clone`). People get the wrong impression about Rust when
using it, e.g. that Rust cannot express what other languages can because
the implementation is inefficient: https://news.ycombinator.com/item?id=8187831 .
auto merge of #16547 : huonw/rust/new-kw, r=pcwalton
Make BigUint and BigInt Hash, fixes #16551
auto merge of #16550 : kaseyc/rust/fix_documentation_error, r=alexcrichton
rustdoc: Fix and improve line break hints with the <wbr> tag

Prevents zero-width spaces from appearing in copy-pasted paths.

Puts line breaks after `::`.

Fixes #16555
auto merge of #16558 : Gankro/rust/hashbig, r=pcwalton

Pretty self-explanatory. Only annoying thing is that it *seems* that I had to add `#![feature(default_type_params)]` to libnum because of Hasher. Don't know if there's a way around that.

Fix #16551
Fix type checking of struct fields in patterns of type ty_err

Fixes #16338.
Fixed #16401.
Changed the sample command in the Rustdoc readme to use --output instead of the outdated --output-dir and
fixed markdown formatting in debuginfo.rs
auto merge of #16554 : jakub-/rust/struct-pat-fields-ty-err, r=pcwalton

Fixes #16338.
Fixed #16401.
Forbid extern statics from appearing in patterns

Fixes #16149.
Correct internal BitvSet 0-padding, fixes #16542
auto merge of #16565 : kaseyc/rust/documentation_fixes, r=pcwalton

Corrected the sample rustdoc command to use --output instead of --output-dir and fixed markdown formatting in debuginfo.rs.
Add missing tests for fixed issues

Closes #8761.
Closes #16010.
Closes #13033.
Closes #15094.
auto merge of #16559 : Gankro/rust/bitv, r=pcwalton

These were the only differing-size-based errors I noticed. Might be more.
auto merge of #16566 : thestinger/rust/aslr, r=pcwalton

This is enough for dynamic libraries, but not executables because MinGW
does not output a .reloc section even with `--dynamicbase`. It could
either be worked around by exporting a DLL symbol from the executable or
fixed in MinGW itself.
auto merge of #16567 : jakub-/rust/issue-16149, r=pcwalton

Fixes #16149.
regex: Enable test on Windows

Fixes #13725