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 also explain what happens when we have a cluster [A, B, C], there is a [A, B], [C] split, A and B keep working, and after a while C merges back.