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

This is #15720, rebased and reopened.

cc @nikomatsakis
I'm sure this is better for most tables, but when your tables start scraping the free memory limits on the system, wouldn't this cause allocation to fail faster than if there were three different allocs?