A queue structure, similar to async.queue but with the ability to kill all outstanding jobs and also emit when items are processed