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 :-)
I don't really like the name, I think this method is used both to handle partitioning and merging. `onMembershipChange` perhaps?