Add an event handler for changes
Recursively watch
We can't rely on recusion on anything, but mac
Update on file creation or deletion.

I wish that the API for this didn't suck, but it does.
Don't be an idiot

This works for removing envs, but there's a race condition when adding
them. If however you add multiple then all but the last one will show
up. Likewise if one is deleted then all will show up.
Add a timeout to make adds work
Merge branch 'feature/watcher' into develop