Hazelcast and Coherence: TX, querying...

This PR brings some refactoring and new features that are mostly targeted at Hazelcast and Coherence.
Regrettably, Coherence transactional support is not working yet - still, I'd prefer to have implementation in repo. Transactional support for Coherence is therefore disabled (commented out).
You're right - I was about to ignore null keys/values as e.g. ConcurrentHashMap does, but that would at least require check during inserts. Moreover, current impl would behave inconsistently with one null key (not working) and multiple null keys (working as those would be stored in the HashMap).