Apply inverse regex matching at the directory watch level

For many inverse regex matches, we can tell that no descendent of an
excluded directory can possibly be included. In these cases, we can
completely avoid visiting that subtree at all.

Fixes #12