Treat non-existent or misbehaving files as having content === null.
Add util.openFileP as a less strict alternative to util.openExclusiveP.
Add a test of Watcher functionality.
Watch directories instead of individual files.

This is based on @jeffreylin's `DirWatcher` implementation:
https://github.com/jeffreylin/jsx_transformer_fun/blob/master/dirWatcher.js

The benefit here is that we end up with many fewer open directories/files,
so we run a much smaller risk of hitting the EMFILE limit.  Directory
watching also appears to be more robust than watching individual files,
because deleting and recreating files doesn't interrupt the watching.

Closes #18.
Remove changedCount and waitCount tracking from Watcher tests.

These counts are sensitive to differences in the implementations of
fs.watch between versions of Node, so I'd rather not depend on them.
Merge pull request #34 from benjamn/directory-watcher

Watch directories instead of individual files