Upgrade listen

This upgrades the watcher to use listen 1.1.x and has a substantial rewrite of the watcher code.