Handle nested dir inclusions

When the user specifies to include a nested directory, it never gets to that directory. So 

 * User specifies `some/directory/anotherdir/*`

Here's the process scandal goes through:

* Check the `some` dir, is is accepted? __nope__. Dont descend into it's children

So it fails before it ever hits the 'some/directory/anotherdir/*' matcher the user originally specified.

My approach is to specify matchers up to the nested directory. In this case we need to break it up into

 * `some`
 * `some/directory`

Now it does this:

* Check the `some` dir, is is accepted? yep
* Check the `some/directory` dir, is is accepted? yep
* Check the `some/directory/anotherdir` dir, is is accepted? yep
* Check the `some/directory/anotherdir/my-file.omg` file, is is accepted? yep

@kevinsawicki I'm interested in your thoughts on this. It is not pretty.