WIPish: Add ZookeeperDnsWatcher

This is necessary to allow us to manage some Zookeeper entries that contain DNS names rather than IP addresses.  I did a few minor refactors on the existing Zookeeper and Dns watchers to allow their reuse in this chimera watcher.

/cc @igor47 @daveaugustine @jtai @joshbuddy @pcarrier