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
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
Work around inability to link lifetime of ref bindings (#16994)
auto merge of #16628 : pczarn/rust/hashmap-opt, r=nikomatsakis

This is #15720, rebased and reopened.

cc @nikomatsakis