It took far too long to figure out why boost::asio::io_service.post() was refusing to take a packaged_task<>, not helped by me being very tired ... :(

Anyway, added the world's simplest thread pool based on std::thread, boost::future (I needed the composability support due for C++14) and Boost.ASIO. Added a cached, lockfree, asynchronous ringbuffered entropy generator for super fast random id generation. Plus a unit test to make sure it all works.

Tomorrow comes the beginnings of an async file i/o abstraction based on a threadpool for POSIX, with an actual IOCP implementation for Windows. This should greatly ease the port to QNX's async i/o infrastructure, should that day ever come.