First pass at implementing async.js#queue instead of Batch