Fixed jshint issues and avoided too-many-open-files.

The parallel forEach calls of the async library can cause too-many-open-files errors. It's safer to just keep things sequential, especially when dealing with recursive file system operations.

I also took the liberty to fix a few jshint issues I came across.