ISPN-3873 Race condition in AbstractInvocationContextFactory

https://issues.jboss.org/browse/ISPN-3873

This PR replaces https://github.com/infinispan/infinispan/pull/2332

Results in NullPointerException in EquivalentHashMap when receiving an
invalidate command during startup.

* Initialize the key Equivalence in AbstractInvocationContextFactory in the
  init() method (instead of start()).
* StateTransferLock.waitForTransactionData() should never return before the
  initial topology was installed.
* RpcManagerImpl must set the topology id for non-tx TopologyAffectedCommands
  that are wrapped in SingleRpcCommands.
* Invalidation commands should have their topology id set in
  StateTransferInterceptor.