Member roles for data re-partitioning

First approach at defining member roles which can be used to control the responsibilities that a node has when it becomes a cluster member
We'll need to remember where this type of stuff is so that we can add `@since` bits. I wonder if we should use, for example, `@since 3.3-atlassian-1` as a placeholder to help us find them all later.

Note that this is just where I'm commenting with this; I think it needs to be done more generically than this across this change