Add note about string indexing.

Thanks @chris-morgan!
Revamp doc index

Fixes #14972
Allow `!` as the return type of proc/closure literals

Fixes #13490.
Relax lifetime bounds on Reader/Writer impls for trait boxes

Cargo needs this to be able to instantiate `TerminfoTerminal<Box<Writer+'a>>`
for 'a other than 'static.
Change rustc to say `array` instead of `vector`
Add unwrap method to MoveItems
Fix whitespace and missing parentheses.
Have std::io::TempDir::new and new_in return IoResult

This allows using `try!()`

[breaking-change]

Fixes #16875
Updated to new extern crate syntax.
Added warning for old deprecated syntax
core: Make TwoWaySearcher reset its prefix memory when shifting by byteset

Closes #16878.
Add many comments to TwoWaySearcher.
std: branchless bucket distance for hashmap
std: RawTable exposes a safe interface for HashMap

Introduced a new growth algorithm.
std: Split hashmap.rs into modules
native: Remove a bogus assert in net::read

This assert was likely inherited from some point, but it's not quite valid as a
no-timeout read may enter this loop, but data could be stolen by any other read
after the socket is deemed readable.

I saw this fail in a recent bors run where the assertion was tripped.
Add some tests for closures that return `!`
Fix some non-FFI-safe types in externs
Use a visitor to look for non-FFI-safe types

Fixes #16250.
Fix spelling errors and capitalization.
auto merge of #16981 : kmcallister/rust/ctypes-warning, r=alexcrichton