Add applyMap function which essentially combines the functionality of
"async.applyEach" and "async.map()" as called in "async.parallel()".
That is, it applies a set of tasks in parallel to a set of input arguments
and pass the results of the tasks to a callback.