Processing files asynchronously

I thought it would be fun to try processing files in this awesome grunt task asynchronously. Here's the result :) I can cook up some benchmarks if you'd like to see if this code is demonstrably faster (or allows more throughput of files to process etc).