Async, recursive directory walker with helpers for node.js