ISPN-263 Handle cluster partitions

https://issues.jboss.org/browse/ISPN-263
A good starting point is the documentation commit which describes the implemented functionality.
Most of the code is around playing with state transfer so dan's input is important :-)
How about when a node dies, and immediately afterwards another leaves because of a long GC pause?

AFAIK JGroups very rarely detects network splits in a single go, it usually takes a few views to eliminate all the inaccessible nodes. So the two cases are actually 1) numOwners nodes leave the cluster before the coordinator starts a rebalance and 2) 1 node leaves the cluster, the coordinator starts a rebalance, then numOwners - 1 nodes leave the cluster before the rebalance finishes.

We don't know whether any of the leavers will come back in the future, the administrator will have to notice that the cluster is unavailable and either wait for the partitions to merge, or assume that some nodes are down and explicitly allow one of the partitions to get back to the available state (losing some of the cache data). In the latter case, it would be nice if we would wipe the state from the other partition(s) when they finally merge.