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.
It might be nice to tie this up to test code somehow, to see if e.g. tests moved the code to be formed that way, if that was the case