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).
I believe get(null) won't work correctly if map contains only one element with null key. That's not the case if map contains several elements.