Add single-consumer task queue.

It can store arbitrary-sized functors without frequent memory allocations. The queue constructs functors in-place and never copies or moves them.
It's better to disable tests then comment them.