ISPN-4862 Don't use static resource fields to initialize the shared description resolver in the static initializer. This fixes an initialization race where some fields could be null
ISPN-4673 Split-brain: get() returns null when all owners are removed
from view

* If get returns null, check that at least one owner is in the cluster.
* Replace RpcException with AvailabilityException if there are no valid
  answers.
ISPN-3938 AdvancedAsyncCacheLoader.process() concurrency issues

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