ControlledCommandFactory.registerControlledCommandFactory() does not actually register the ControlledCommandFactory into the ComponentRegistry

The method is also duplicated into ControlledCommandFactory instead of being reused.
ISPN-2839 Method boolean Cache.replace(K key, V oldValue, V value) (and variants) should guard against null oldValue parameter

Add explicit null check and test case to cover it.
ISPN-2688 BaseDistributionInterceptor and TxDistributionInterceptor do not detect properly if the key needs to be fetched remotely

Fixes TxDistributionInterceptor by doing an extra local lookup if the value returned by method remoteGetAndStoreInL1() is null.
If there was a state transfer in progress at the time TxDistributionInterceptor tried to determine if it needs to go remotely or not the decision might be invalid now and the value might be available locally.
The non-tx case is differrently implemented and is not fixed. Added OperationsDuringStateTransferTest to highlight the issue.