Hi,

I noticed that smaller maps with a size of 1 and 2 will be resized if you put the respective number of elements in it. This PR aligns the initial capacity calculation with the one from the JDK and thus fixes the contract:

     * Instantiate a new {@link HashMap} with an initial capacity
     * that can accommodate the specified number of elements without
     * any immediate resize/rehash operations to be expected.
     * 

I didn't add a test because it would access internals of (Linked)HashMap which felt pretty ugly and would probably need the internals to be opened. But let me know if I should try adding some.

I should note that this probably makes other cases a tiny bit slower, because the size is sometimes 1 higher than before. But then again. The contract is specific about the resizing not happening.

(A backport to 5.3 is as usual highly appreciated ;-) )

Cheers, Christoph