A c++ thread safe queue modeled from the python queue.
The general idea here is that we can use a similar API to the python queue for get() and join() which will allow us to implement the behaviors described in the video of pycon 2016 https://youtu.be/Bv25Dwe84g0 "Thinking about Concurrency, Raymond Hettinger."