Initial implementation of a Topology-Aware CH.
JBQA-6620 -rm REMOVE_DATA_ON_STOP flag test
ISPN-2329 TableManipulation.getDatabasetype does not release used connections
ISPN-2325 Fix the JMX domain conflict failing tests

* Convert tests to using test cache manager factory.
* Solve issues related to cache managers not being closed.
* Create alternative cache manager factories for CDI and Spring tests.
ISPN-2312 TransactionTable does not compute minViewId correctly after NBST was introduced

To fix this we need to ensure that transferred transactions have the correct topologyId.

* Add topologyId to TransactionInfo, populate it accordingly in StateProviderImpl
* Add TopologyChangedEvent.getNewTopologyId()
* Rename DataRehashedEvent.getNewViewId() to DataRehashedEvent.getNewTopologyId()
* StateProviderImpl does not transfer transactions that do not have any locks on keys belonging to the destination node (just an optimisation)
* Remove unused method TransactionTable.removeLocalTransaction() and XaTransactionTable.removeLocalTransaction()
* StaleTransactionCleanupService now listens for topology change events rather than JGroups view events
* In StaleTransactionCleanupService.onTopologyChange we release locks for which we are no longer an owner only if the cache is distributed
* TransactionTable is now a synchronous topology change listener instead of listening for JGroups view events
* AbstractTxLockingInterceptor.lockKeyAndCheckOwnership uses non-strict topologyId comparison if the current topology has the same id as the previous one. This is indicated by the newly added TransactionTable.isStrictComparison()
* Enable MainOwnerChangesLockTest as it is working now
* Enable LockOwnerCrashPessimisticTest as it is working now
* Fix MinViewIdCalculusTest which was wrongly asserting based on JGroups Transport viewId rather than CacheTopology topologyId.
Replace 'assert false' with Assert.fail()
Solve minor generics warning in AbstractInfinispanTest.fork().
ISPN-2271 removed deprecated api usage in tests
ISPN-1822 - Do not extend LinkedHashMap in LRU eviction strategy
ISPN-2296 Queries are ignoring Projection option
ISPN-2296 Adding a test for multiple and repeated projection fields
ISPN-2337 EagerIterator and LazyIterator should follow contract of Iterator + fixed exception handling
Improve formatting and whitespaces
ISPN-2225 Configuration API and XML parser for the HBase CacheStore
ISPN-2333 StateTransferInterceptor.handleTopologyAffectedCommand should be invoked for all TopologyAffectedCommands

* Update method handleDefault() to check for TopologyAffectedCommand instead of FlagAffectedCommand
Remove unused imports and unused method getInvocationContext()
ISPN-2338 Transactions should be transferred during rehashing regardless of fetchInMemoryState or isFetchPersistentState being false
* Fix ParticipantFailsAfterPrepareTest: TestingUtil.waitForRehashToComplete(..) is required after killing a participant
* Fix NPE originating in StateTransferInterceptorImpl.visitCommitCommand because of null origin of the created PrepareCommand
* Fix StateConsumerImpl to request transactions even if it does not request segments
Merge branch 'master' of https://github.com/infinispan/infinispan.git into 5.2.0-BNI
ISPN-2347:  Added try, finally to properly clean up txs on backup failures.