Revamp doc index

Fixes #14972
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
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.
std: Refine and document HashMap's code

* branchless `bucket.next()`
* robin_hood is a free function
* fixed the resize policy that was off by one
* documented the growth algorithm
* updated documentation after interface changes
* removed old fixmes
std: Fix overflow of HashMap's capacity
collections/slice: Reexport mut_ref_slice in addition to ref_slice.
Update language item from 'share' to 'sync' #16988
Work around inability to link lifetime of ref bindings (#16994)
Update fannkuchredux benchmark

From the discussion on reddit:
http://www.reddit.com/r/rust/comments/2fenlg/benchmark_improvement_fannkuchredux/

This adds two variants: the primary, that uses an unsafe block, and a secondary
that is completely safe.

The one with the unsafe block matches clang's performance and beats gcc's.
Check concrete type in impls with no trait

closes #16955
Make integer bit count methods return uints

Fixes rust-lang/rfcs#224
rustdoc/html: emphasize the crate part of the full path.
Remove unused diagnostic codes.

Fixes #16449.
Fix formatting in the guide.

Thanks @dherman.
don't say compromise

@dherman doesn't like it :smile: