move zk code for the service watcher into the zzk

Genericized listeners and moved service watchers into the zzk






Add some comments to interface and explain the purpose of each method.