std: Remove implicit shrinking from hash_map.

Implements fn shrink_to_fit for HashMap.
std: Change the behavior of `reserve` for HashMap.

HashMap's `reserve` method now takes as an argument the *extra* space
to reserve.

[breaking-change]