Make ignore patterns faster + a few other fixes

Found below issues in ignore patterns logic which are fixed with this pull request:
- Whether to parse a directory or not should be searched before loading ignore patterns from a file within this. Otherwise we will miss this directory itself even though the ignore file within it applies only to subdirs
- Directory ignores should be searched against patterns with "/" in the end.
- The current method of globbing the files matching ignore patterns within this dir, and then matching against them and ignoring is very slow. using filepath.Match with pattern directly makes this much much faster. (In my tests on around 10000 files with around 10 ignore patterns, difference was more than a second before and after this fix)

Apart from this, also fixed the files searched thing getting printed out of order sometime as the queue of print() routines wasn't completely done. Now printing of all stats should happen properly.