DefaultZooKeeperClient now checks for cluster ID node

At startup, DefaultZooKeeperClient checks that the specified cluster
ID node is present. If it is not, all operation will throw
IllegalStateException. If it is present, a watcher is created for the
node so we will get notified if it is deleted.

If no cluster ID is specified, it will not check for the node, and
operate like normal.