Return `watcher` object with `close()` method and array of `FSWatcher` instances.

This PR adds an object return value to `handleOptions()` which mimics the `FSWatcher` object normally returned by `fs.watch()`. This object has a `close()` method that allows you to cancel all watchers created by the call to `watch()`. It also provides an array of the underlying real `FSWatcher` objects (updated asynchronously). There are no public API changes since `handleOptions()` previously had no return value.

I also added some mocha tests.