C++11 concurrency

This patch removes pthread in favour of plain C++11 concurrency classes.

I was going to introduce a typedef for `boost::thread` but it means adding complexity in the `CMakeLists.txt` to search for boost and link it to the library. The library is already using `<atomic>` without any fallback so I assume it is safe to use `<thread>`, `<mutex>` and `<condition_variable>` directly.

The `benchmark_test` runs just fine with the changes on my PC. Hopefully this will help in the effort to get a Windows port working!