New watch package, better and cleaner watchers for lime packages

- Moved watch to a separate package resolves #292 
- Enabled watching directories, we will have less individual watchers
- It's possible now to have multiple subscribers on one file or directory resolves #285
- Enabled watching a file which doesn't exist yet
Let's have it return an `error`.