First part improvements of PR #2420

First part improvements of PR #2420:
Mainly includes:
 - expiration cleanup improvements
 - map store & expiration/eviction relations
 - adding an upper bound to WBQs
Imagine this scenario: You want to cache items for 30 minutes at most. So you configure TTL. But you know you can hold max. X items in memory so you configure MapStore to do the overflow -> BOOM -> your TTL is effectively ignored now. With no warning at all. 

As I said - it isn't necessary bug, but it's surprising behaviour. It would definitely surprise me :)