Ensured WatchService watches directory recursively

* Also fixed MatchError on FreeBSD