Add second check for ignored items (after stating the fs)

When deciding if an item should be ignored, it is helpful to know whether it is a file or a directory. Delaying the check after we have the stats information would mean unnecessary stat calls for those items that can be ignored based on the path.

This is a breaking change:
The `ignored` function will be called twice for each new item - once without the stats object, then again once we have the stats information.

Closes #51