Advised to use walkdir by burntsushi as using recursion on file systems
can blow the stack.
walkdir is slower but allows the code to be cleaner and more reliable
Also experimented with ignore but locking the hashmap resulted in
similar performance to walkdir but with much uglier code.