1) Replace InventoryManagers with Curator-based Inventory Managers
2) Replace ZkSegmentAnnouncer with CuratorSegmentAnnouncer
3) Adjust LoadQueuePeons to operate using Curator
4) Remove ZkPhoneBook

Things left to do:
1) Unit tests
2) Remove references to zkclient library
3) Remove references to PhoneBook interface
1) Remove references to zkclient
2) Eradicate zkclient from the poms!
1) Eliminate PhoneBook
1) Use PathChildrenCacheFactory to simplify creation of PathChildrenCache objects.
1) Cleanup TODO comments
1) Refactor the announcement of segments to all exist inside the DataSegmentAnnouncer
2) Adjust the ExecutorNodes to expose the correct nodeType given the refactorings
1) Fix bug with Master not starting up without an indexer specified
2) Fix bug with PotentiallyGzippedCompressionProvider only catching ZipExceptions and not IOException (java 6 throws IO, java 7 throws Zip)
3) Create DruidServerMetadata and use that instead of DruidServer to represent the current server
1) Nicer logging
2) Announcer should actually delete its zk entries when it is told to unannounce something
3) Skip over complex columns that we don't have a proper deserializer for
1) Switch from com.netflix.curator to org.apache.curator
1) Log when servers show up and when they load segments
2) Adjust nodes to publish to ZK as the last part of their initialization
1) Adjust all of the uses of zookeeper paths to be based on ZkPathsConfig
1) Imports...
1) Don't need a ServiceEmitter in ZkCoordinator anymore.
It's better when things compile
Remove extraneous logs
More logging stuff
1) Make druid.zk.paths.base required
2) Unit tests for announcer and fix race condition with session death
1) Unit tests!
Moar unit tests
Fixorz unit tests!