Revert "Improve handling of recursive watches"

This reverts commit 779aeb3d35d7317ab65a3b8f35ae11097bfaa93a.
Add watches recursively for new directories

When watching a new directory, do a recursive walk to ensure that
watches are added for all subdirectories.

Example:
- A watch exists for /tmp
- Run mkdir -p /tmp/foo/bar
- IN_CREATE event is triggered for /tmp/foo
- Add watch for /tmp/foo
- IN_CREATE event is triggered for /tmp/foo/bar

The IN_CREATE event for /tmp/foo/bar may trigger before the watch is
added for /tmp/foo, causing the event for /tmp/foo/bar to be missed.

From inotify(7):

If monitoring an entire directory subtree, and a new subdirectory is
created in that tree, be aware that by the time you create a watch for
the new subdirectory, new files may already have been created in the
subdirectory. Therefore, you may want to scan the contents of the
subdirectory immediately after adding the watch.