Cluster Monitoring: Server Selection instead of State Change Events

This is a different implementation from the cluster monitoring spec, that does not have the complexity of needing to take action when a server's type changes. It simply has a list of known servers, and based on the type of cluster, it selects the appropriate servers from it's list.