Use in-process ZooKeeper clusters for testing

Use curator's TestingCluster to run in-process ZooKeeper instances for
cluster tests. This is similar to our use of the in-process TestingServer
for tests that require just a single ZooKeeper instance. The difference is
that this is a whole in-process cluster.

This is mostly needed for tests that deal with cluster strategies and
failover.