Remove implicit shrinking from hash_map.

Part of enforcing capacity-related conventions, for #18424, the collections reform.

Implements `fn shrink_to_fit` for HashMap.
The `reserve` method now takes as an argument the *extra* space to reserve.
I'm not sure we can sanely assert capacity is *equal* to 128 due to future allocator shenanigans. That is, an allocator might refuse to do such small allocations, and give back a much bigger capacity.