First draft of cluster chapter

I'm reasonably happy with the shape and content of the chapter here, so I think it's ready for a review.

The code is mostly in place, although there are a number of "TODO" tags that I'm still pondering.  The big one -- that affects the chapter -- is to remove the 'catchup' support entirely.  I can't quite convince myself that the implementation will still perform correctly without it, though.
The above sections introduce the node 'roles'. I beleive the next ones introduce helper classes. If this is the intention maybe make an explicit break somewhere, like having a new subchapter. Also it might be cool to have couple of sentences about the split between the 'role/component' classes and other ones, why not have all the code in the 'role/component' classes etc.