Op input validation now also checks for handle validity. This stops someone passing a standalone completion op in as an input to a file i/o op.

Tried reworking the std_thread_pool destructor once again to hopefully stop randomly hanging on exit on Windows.
Merge branch 'master' of github.com:BoostGSoC/boost.afio