Implement queue.kill to match node-async

Because of differences between vasync.queue and async.queue, their
respective kill methods differ slightly in function.  The node-vasync
queue will schedule processing for items immediately if it does not
break concurrency constraints.

This means that an immediate call to queue.kill will not prevent items
from processing if there were open slots.