Implemented Cluster Monitor tests and test harness to consume them

Note, this will fail, revealing a bug in the current Cluster implementation. Cluster thinks it's still in ReplicaSetWithPrimary in this situation.