Optimized HashMap. RawTable exposes a safe interface. (reopen)

This is #15720, rebased and reopened.

cc @nikomatsakis
Too exhausted to reliably review bit fiddly stuff like this anymore. Will resume review here tomorrow (to be clear, I didn't finish reading hashmap.rs, because it clearly depended heavily on understanding this file).