Fix for spurious request hang

Refactored/Simplified SPSC and renamed some variables in MPMC to be
more consistent. Added some tests for both.
Fix build, forgot stdio.h
The memory barrier was masking a data race in libuv
Merge pull request #103 from datastax/CPP-162

CPP-162 - Fix for spurious request hang