Changes:
 - Refactored RecursiveWatcher so it can be used independently
 - Added channels to both DirectoryWatcher and RecursiveWatcher for errors and logging
 - Creating a new directory in a watched directory now adds it to the watch list
 - AddDirAndSubs now spawns a new goroutine for each directory to add