[FLINK-955] Implemented automatic resizing in CompactingHashTable

The CompactingHashTable now attempts to double the number of buckets if too many overflow buckets are used.
This commit also fixes a few bugs in the hash table.
We have a testing framework `Mockito` to make private methods visible for testing purposes. @uce recently improved one of my pull requests with that as well: https://github.com/stratosphere/stratosphere/commit/b746f452e7187dad08340b9cfdc2fa18a516a6c7