Add libuv-based watcher

Fixes #821
Add tests for libuv-based watcher

Four possible results of running tests (first three are errors):

- “The change to inotify/file2 was not detected” on line 84: most common
- “Spurious change detected” at line 82 (uncommon, usually fixed by sleeping
  before running test in do_test_for_change)
- “The change to inotify was not detected” in tree watcher test (e.g. from line
  131) (very rare)
- All OK.
Use shutil.rmtree in tests
Ultimately disable pyuv watcher tests
Merge pull request #906 from ZyX-I/uv-watcher

Add pyuv-based watcher