First attempt at a barrier implementation. Is completely untested, but it compiles.
Cleaned up the set of call() overloads;

Added when_all for a single async_io_op.

Added new test case to test the new barrier() implementation. Unfortunately it triggers the memory corrupting packaged_task in Boost v1.53 :(
gcov build now defines NDEBUG and therefore code not needed for coverage analysis.
Added new issue to remind me to add mingw32 build support so we can get Travis CI doing Windows unit testing via wine heh heh.
* Issue b11/9f9 (Add a std::vector<async_io_op> barrier() which completes each of its inputs when and only when all of its inputs become ready.) fixed.
Supposedly it should work ... but MSVC currently ignores the try block during replicated exception throw.
Figured out a hack which just luckily makes MSVC work most of the time ...

Therefore unit test async_io/errors now passes.
Temporarily disabled barrier unit test due to Boost v1.53 memory corruption bug.
Had the cunning plan of installing Boost v1.54 beta for headers.
Boost v1.54's packaged_task suddenly dislikes const std::function<> and doesn't copy construct it. Weird.
Restored correct exception rethrow behaviour for non-MSVC compilers.