ISPN-4626 Race condition in the LocalEntryRetriever between iterator() and hasNext()
ISPN-3950 Move KeyValueFilterFactory and ConverterFactory to core

* Moved to core/ to make it easier for users to implement factory
instances and avoid leaking server/hotrod components.
ISPN-3950 Reformat to 4 white spaces
ISPN-3950 Allow deployment of event filters and converters in server

* Adding filters and converters done dynamically now, to make it easier
to deal with deployments of these.
* An extension manager service has been created that handles addition
of Hot Rod servers and deployment of filter/converters. When new Hot
Rod servers are added, deployed filter/converters are installed in
them. When filter/converters are deployed, they're installed in all
known Hot Rod servers.
* Servlet deployment disabled for HotRod tests in server because it
forces deployment jars to be included within war. Instead, use JMX
deployment.
* Updated documentation to reflect how filter and converter instances
are plugging into Infinispan Server.
ISPN-263 Handle cluster partitions
* refactored: moved cache specific logic from ClusterTopologyManagerImpl into the ClusterCacheStatus
* This makes it easier to take rebalance related decition at cache level.
ISPN-263 Handle cluster partitions

* add logic to handle split brains
* when a split brain happens, the consistent hash of the cache freezes till the nodes that disapeared ressurect
* the cluster enters degraded mode, i.e. only servers data that hasn't been affected by the split brain
ISPN-263 Handle cluster partitions
- implemented functionality to determine multiple successive failures
ISPN-263 Handle cluster partitions

* don't allow for stale data in an resurrected member as this messes the consistency guarantees the partition handling offers
ISPN-263 Handle cluster partitions
 - enhanced the test suite with various nodes failures
ISPN-263 Handle cluster partitions
 - allow configuration through XML
ISPN-263 Handle cluster partitions

* fixed test suite
ISPN-263 Handle cluster partitions

    * added user documentation
ISPN-263 Handle cluster partitions

    * don't allow partition handling for replicated caches
ISPN-263 Handle cluster partitions

    * detail how the key ownership is determined
ISPN-263 Handle cluster partitions

    * fixed reviews comments
ISPN-263 Handle cluster partitions

* Fix remaining test failures
* Small documentation/javadoc fixes
* Move PartitionContext and PartitionHandlingStrategy to impl package.
* Fix configuration exception when partition handling is enabled in
  replicated mode.
* Use i18n messages for AvailabilityExceptions
* Rename CacheTopology.isDegradedMode back to isMissingData
* Don't allow partition to enter degraded mode if it's already unavailable.
ISPN-263 Handle cluster partitions

* More documentation fixes
* Rename isAllDataAvailable to isMissingData
ISPN-4626 Avoid locking on hasNext unless necessary
ISPN-4630 DistributedEntryRetriever throws NPE if iterator is closed
before processing all responses

* Fixed issue where null check was done on wrong objects
ISPN-4446 Signal components of cache removal

* Since stop() takes no parameters, make the remove cache command
signal components of cache removal before cache stop, so that they can
do their job.