Fix: skip dot files and ignored dirs on traverse (fixes #1077, related to #814)

This commit solves several problems.

1. dot files/dirs are ignored now on traverse, as discussed in #814
2. Duplicated minimatch use removed. Now always use `ignoredPath.contains()`
3. If directory is in ingnored list, nested traverse is not performed. Related to #1077, make sense for big projects and projects with many dependencies in `./node_modules`.

Also added basic traverse tests.