Make the obt_watch functionality work without inotify (via manual refreshes).
Adds obt/watch_manual.c which is a filler for when watch_inotify.c can't be
used. Other watch_foo.c may also exist in the future I hope.
Adds obt/watch_interface.h which the inotify (and others) subsystem can use
to call back notification to the main watch system that events have
occured.
Keep track of all files being watched within the main watch system, so that if
a directory disappears, we can report the files inside it being removed.
This change moved a lot of the recursive functionality out from
watch_inotify.c into the main watch.c, making it much more simple and should
help make it much easier to add other watch_foo.c subsystems.