Fix a leak in riak_kv's LRU cache.
Fix a leak in riak_kv's LRU cache.

The Bucket Index in the riak_kv_lru cahce is of the ETS type
bag. Hence if we store {BKey, Key} into the table, its key will be
BKey only. Trying to call ets:delete(BucketIdx, {BKey, Key}) will then
fail to match since we are searching for {Bkey, Key} == BKey. Changing
the deletion routine to be ets:delete_object/2, fixes this problem.

The consequence is that riaks LRU does not leak memory anymore when
doing extensive Map/Reduce queries.

While here, provide a test case for the problem: Introduce a
consistency variant -- all tables must be of the same size when
full. Fill the table and test that the invariant is true. This fails
before this patch, but succeeds after.

andytill/riak_kv