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-2714 - org.infinispan.distexec.mapreduce.TopologyAwareTwoNodesMapReduceTest.testInvokeMapperCancellation test fails randomly

The issue is fixed - seems to be timing thing as all execution is done in different threads, the cancellation thread was doing cancellation before the mapping task started the execution.
Commit.
Merge remote-tracking branch 'origin/ISPN-2714' into ISPN-2714