ArrayHashSet: use linear probing to the right (not to the left); fixed
some warnings
ArrayHashSet: linear probing is moving to the right instead of left;
iterator now supports deletion of elements
ArrayHashSet: do not chache next upper and lower resize bounds:
computing them for every addition / deletion should be cheaper than
memory access
ArrayHashMap: do not cache upper and lower size limits in the map, but
compute them for every insertion and deletion
ArrayHashMap: move to the right for linear probing
Unifying and simplifying the implementations of ArrayHashSet and
ArrayHashMap moving common code into the new LinearProbing and
LinearProbingIterator classes.