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

This is #15720, rebased and reopened.

cc @nikomatsakis
Just to be sure: no implementation details were changed here, right? iirc hashset uses hashmap as a black box.