ISPN-2965 L1 and early invalidation leaves inconsistent state

* Added additional interceptor that is done on a last chance basis to invalidate L1 values that were present for the key when a write occurs.
ISPN-3418 Threads which get parked in CHMv8 won't ever be unparked
Updated Mapper demo code

    WordCountMapper:
        - Use a regular expression to parse words in cache values

    WordCountMapperEmitPerValue:
        - An alternative implementation that emits after parsing the
entire cache value to reduce the size of the intermediate results
ISPN-3357 Insufficient owners with putIfAbsent during rebalance

* Set the ignorePreviousValue flag when replicating from the primary owner, and
  respect its value on the backup.
* Also set the ignorePreviousValue flag when retrying the command, as the new
  primary owner might be an old backup owner.
ISPN-3357 Insufficient owners with putIfAbsent during rebalance

* Properly retry the command when the OutdatedTopologyException is thrown
  from a backup owner and wrapped in a RemoteException both on the primary
  and on the originator.
* Set the ignorePreviousValue flag on the command when retrying, even if
  the originator is not the primary owner.
* Keep forwarding the old way in replicated mode, and revert
  ReplCommandForwardingTest
ISPN-3366 Harden the outdated topology checks
ISPN-3357 Insufficient owners with putIfAbsent during rebalance

Set the ignorePreviousValue flag only after the check was performed.
The flag won't be set if the topology changes before the command is
replicated to the primary owner.
Move the Query DSL to its own sub-module so it can be used by both embeded query and HotRod client
ISPN-3029 IllegalMonitorStateException in LockSupportCacheStore.loadAllKeys
ISPN-3388 Support Legacy cache stores
ISPN-3173 Add query operation to base Hot Rod protocol

* Defined a QueryFacade interface which can be implemented by other
modules to provide querying capabilities via Hot Rod. Currently it
assumes as single facade.
ISPN-3417 Threads which get parked in CHMv8 won't ever be unparked
ISPN-3405 Cache stores hashing keys should use configured Equivalence

* Removed Bucket externalizer since it complicated injection of
per-cache equivalence function.
* Created EquivalentLinkedHashMap for the single file cache store
to be able to locate keys requiring Equivalence function in memory.
ISPN-2013 Using explicit "unlock" causes TimeoutException for other Threads
ISPN-3434 DistTotalOrderL1WriteSkewTest test doesn't run with L1 enabled
ISPN-2913 putForExternalRead leaves locks
ISPN-3357 Fix the OutdatedTopologyException check during remote invocation

I made some mistakes when rebasing from 5.2.x to master.
ISPN-755 Build JavaDocs from scala sources too
ISPN-3359 Add JavaDoc 7 stylesheet to fix documentation appearance
ISPN-3435 Enable tests for RemoteCache.getBulk() and keySet()