Changed `extern crate foo as bar;` error message

Closes #17709
Fix target-feature codegen option syntax in rustc man page.

The man page stated that the list of features was space-separated when
it's actually comma-separated.
adding iterator benches to tree-based maps for comparison purposes
flesh out BTree docs
doc fixups
librustdoc/html: recognize slices not to nest A tags.

1. A slice of parametrized type, say
   BorrowedRef { ... Vector(Generic(T)) }, is rendered as
   "<a href='primitive.slice.html'>&amp;[T]</a>"
2. A slice of other types, say
   BorrowedRef { ... Vector(int) }, is rendered as
   "<a href='primitive.slice.html'>&amp;[</a>
    <a href='primitive.int.html'>int</a>
    <a href='primitive.slice.html'>]</a>"
3. Other cases, say BorrowedRef { ... int }, are
   rendered as same as before:
   "&<a href='primitive.int.html'>int</a>"

Relevant W3C specs:
- http://www.w3.org/TR/html401/struct/links.html#h-12.2.2
  12.2.2 Nested links are illegal
- http://www.w3.org/TR/html5/text-level-semantics.html#the-a-element
  states A tag must not enclose any "interactive contents"
  which include A tags themselves.
Rename the no_split_stack attribute to no_stack_check

The old name is misleading as we haven't had segmented stacks in quite some
time. But we still recognize it, with a deprecation warning.
Add -C no-stack-check

Fixes #16980.
Add tests for no-stack-check attr and codegen option
Disable no-stack-check test on Windows
auto merge of #17037 : kmcallister/rust/no-stack-check, r=thestinger

r? @brson 

Fixes #16980.
vec: minor cleanup
auto merge of #17793 : simias/rust/master, r=huonw

The man page stated that the list of features was space-separated when
it's actually comma-separated.
implement Box<[T]> <-> Vec<T> conversions
Remove the runtime guide.

Now that libgreen is gone, this is all wrong.

Fixes #17923
improve the performance of the vec![] macro

Closes #17865
auto merge of #17920 : thestinger/rust/vec, r=aturon

Introduce conversions between `Box<[T]>` and `Vec<T>` and use it to reimplement the `vec![]` macro for efficiency.
remove shootout warnings
auto merge of #17936 : TeXitoi/rust/remove-shootout-warnings, r=alexcrichton

Only one warning remain, and I can't find a way to remove it without doing more bound checks:

```
shootout-nbody.rs:105:36: 105:51 warning: use of deprecated item: use iter_mut, #[warn(deprecated)] on by default
shootout-nbody.rs:105             let bi = match b_slice.mut_shift_ref() {
```

using `split_at_mut` may be an option, but it will do more bound checking.

If anyone have an idea, I'll update this PR.
Register new snapshots

Also convert a number of `static mut` to just a plain old `static` and remove
some unsafe blocks.