Fixed async bug when run on multiple files in one task/changed grunt.async to async

The registerMultiTask function calls the async callback function before the forEach finishes looping over files, which made npm install not execute if it was run on multiple files. Using async forEach fixes this. Added external async package as well, as grunt.async function is deprecated.