Fix RemoteQueryDescriptorIT
ISPN-4949 Split brain: data updated in degraded mode

* Don't update the cache topology after a JGroups view update
  until we know all the members are accessible.
* Move PartitionHandlingInterceptor above StateTransferInterceptor
* Check availability again when catching a SuspectException in
  PartitionHandlingInterceptor
* Fix NPE when receiving a null response for a START_STATE_TRANSFER
  command
* CacheClusterStatus.doHandleClusterView now uses the most up-to-date
  view's members.
* Add a waitForViewId method in JGroupsTransport.
* StateTransferInterceptor must retry with the same cache topology
  if the JGroups view was outdated.
* Add a list of actual members to the cache topology to be used
  for the availability check.
* Always preserve the existing availability mode in the first
  topology update after merge.
* Add a DISCARD2 protocol because of issues in DISCARD (already
  fixed in JGroups master).

fixup
ISPN-4949 Use FD_ALL instead of FD in the default JGroups configuration

FD and FD_ALL2 are not acceptable because it can take 2 x timeout
to suspect a node.
ISPN-5027 OutOfMemoryError in entry retriever when state transfer chunk
size is Integer.MAX_VALUE
ISPN-3938 AdvancedAsyncCacheLoader.process() concurrency issues

Simplify ExecutorAllCompletionService to track the tasks itself instead of
using an ExecutorCompletionService.