Added a C++ version of the ring buffer. Still need to fully implement the TestandTestandSet lock however