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 :-)
the partition handling assumes symmetric clusters. We want to get rid of asymmetric clusters anyway in future so not sure if we want to fix this scenario for now.