veyron/runtimes/google/lib/follow: Refactor watcher api and implementation.

Previously, the watcher would send file modifications events on a channel. Now,
the watcher provides a Recv method that blocks until the file is modified.
This simplifies the watcher implementation:
1) we no longer spawn go routines that fill the events channel.
2) delegate watchers (i.e. fsnotify-based, fs.Stat-based, timed, etc.) implement
   an interface, not a function type.

Change-Id: Ia6b27c53f4e1a7e123cd2e738ac621331d177b95
15 files changed
tree: 17aa8cc1c6b8675e78cc7c3d60a9468bc1402fb4
  1. examples/
  2. lib/
  3. runtimes/
  4. security/
  5. services/
  6. tools/