Discovered an interesting bug which I won't fix tonight as I'm tired: For some very odd reason, sometimes the future handle for an op isn't being set and is therefore invalid. It seems to occur only when the op has been completed. Another packaged_task bug perhaps?

Other things changed:

Even more improved debug printing.

Now converts Boost ASIO reported error codes into actual meaningful strings for exception throws.

The torture test was generating zero lengthed items for the test, this was causing Windows to refuse to execute the items.