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
While you're in here you might tweak this and pass `size, 1.0f` into the `HashMap` constructor