Add functional files to file tools

Add a single process function to help read from multiple csv files
and write the results to a single csv file.

Refactor the directory walker.

Add a few functional iterator utilities.