init cancel watcher
fix(watchhub.go) add a lock to protect the hashmap
refactor(watcher_hub.go) refactor notifyWatchers()
fix(watcher_hub.go) decrease count when remove a watcher
refactor(watcher) change newWatcher to Watch
Merge pull request #418 from xiangli-cmu/cancel_watcher

cancel watcher