CPP-162 - Fix for spurious request hang

Refactored/Simplified SPSC and renamed some variables in MPMC to be
more consistent. Added some tests for both.
Adding the +1 here (as opposed to in buffer allocation) always doubles the requested size of the queue.