Extend async.map() to allow iteration