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 :-)
Should probably be renamed to `isAllDataAvailable()`. Or `isSafeToRead()`, maybe with a second `isSafeToWrite()` method, because when the cluster only has 4 nodes and 3 nodes leave, it's not safe to write entries even if numOwners = 5.