Fix some naming in the double buffer queue.
Previously added volatile tag to two class members in moment of delusion and weakness. Removed.
A few more double buffer tweaks; expose the buffer size to dequeue and rename the allocator type to be more consistent.
Move memory trim flags to bit fields, Add mpsc_queue for thread pool use, refactor thread pool to use a condition variable and mutex per thread and different signalling.
Increase protection level on members.