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

This is #15720, rebased and reopened.

cc @nikomatsakis
Can `cap << 1` *ever* be below `INITIAL_CAPACITY`? Is this just for the jump from totally empty to having some space?