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

This is #15720, rebased and reopened.

cc @nikomatsakis
I'm not convinced this is necessary. I'm *pretty sure* a loop is sufficient, but need to think about it more.