ISPN-2731: Fixed NPE that can occur on a null response.
ISPN-2421 Optimise the call to LocalTransaction.getCommitNodes

* If the topology id has not changed LocalTransaction.getCommitNodes will return the unchanged list of recipients.
* TransactionTable.useStrictTopologyIdComparison is no longer required since the topology id is incremented on each update. All usages in AbstractTxLockingInterceptor need to be removed also.
ISPN-2596 Create unit test for ISPN-2574

Add StateTransferRestartTest that highlights ISPN-2574 regression issue, contributed by Michal Linhard.
ISPN-2574 Segment transfer not restarted if the owner fails

* The already in-progress inbound task that was fetching from a leaver should have been cancelled before being retried. The existing code already took care of removing the old task and creating a new one but it should have also removed it from taskQueue and interrupt the task in order to unblock the transfer thread. InboundTransferTask.terminate() method was added for this.

* The logic that prevents two transfer threads running at the same time is broken and could also result in no thread running at all if the existing thread was about to exit but did not set isTransferThreadRunning to false yet. This means not all tasks in taskQueue were always processed.
ISPN-2579 StateResponseCommand received after the node is removed from CH causes IllegalArgumentException

Must check if we are still member in write CH before applying state in order to prevent failures if a late StateResponseCommand is received during leave.
ISPN-2733 Issue with the release script (bin/release.py)
ISPN-2507 @DataRehashed event is not triggered

I fixed ISPN-2401 as well, because it needed the same approach as notifying
the listeners of the start and end of rebalancing at the right time.

I added the consistent hash to the DataRehashedEvent, which should be
backwards compatible, because user code is not supposed to implement it.
ISPN-2740 NPE at AbstractEnlistmentAdapter

The NPE was caused by null rpcManager in local mode during execution of removeTransactionInfoRemotely(). Actually, removeTransactionInfoRemotely() should only execute if the cache is clustered. The already existing isClustered() check was using logic short-circuiting and was miss-placed, so I moved it outside the method.
ISPN-2742 Log Infinispan version information from Hot Rod client
ISPN-2747 Drop Woodstox dependencies
ISPN-2714 - org.infinispan.distexec.mapreduce.TopologyAwareTwoNodesMapReduceTest.testInvokeMapperCancellation test fails randomly
ISPN-2581 StateTransferManagerImpl.waitForInitialStateTransferToComplete() returns too soon

Don't flag the initial state transfer as complete as soon as we send the
rebalance confirmation to the coordinator. It will be flagged while
processing the next topology update.
ISPN-2736 ConcurrentModificationException in StateRequestCommand

The lock collections are already synchronized so all we need to do is to add synchronization on them around the iteration.
ISPN-2739 Document the encoding command correctly
ISPN-2748 Is marshallable check should inspect annotations
ISPN-2738 Joining node ignored by hotrod clients in REPL clustering mode

Skip the topology update if the cache members aren't all in the address
cache. Do the check in AbstractEncoder1x.generateTopologyResponse, so that
it works for all topology types (i.e. also for replicated caches).
ISPN-2611 Drop rhq-pluginAnnotations and rhq-pluginGen
ISPN-2745 Add missing operations and parameter names/descriptions
ISPN-2715 - org.infinispan.distexec.mapreduce.TopologyAwareTwoNodesMapReduceTest.testCombinerDoesNotChangeResult test fails randomly