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-4856 PartitionHandling: majority check in PreferConsistencyStrategy
is incorrect
ISPN-4852 PartitionHandling: support replicated caches

* Properly create the PartitionHandlingManager for replicated caches
* Extract an interface and a factory for PartitionHandlingManager
* Work around ReplicatedConsistentHashFactory.updateMembers making every
  member an owner.