DirWalker lazily traverses one or more directory trees, depth first, returning successive file names. Provides both a `next()` and a Stream-based API.
Directory names may optionally be returned. The File.Stat structure associated with the file name may also optionally be returned.