Fixed the Windows IOCP backend 64Kb truncated reads and writes. Still got scatter-gather to fix though.
Begining changes for VS 2010 compatability

1. replaced <thread> with boost::thread
2. replaced std::atomic with boost:atomic

TODO:
1. Replace range based for loops with BOOST_FOREACH
2. Implement a variadic template macro using the preprocessor
Replaced the enchanced for loop with BOOST_FOREACH

Older compilers lack support for the range based for loop, so I replaced
it with BOOST_FOREACH
Fixed an error with the boost/foreach.hpp include
Fixed some typos in afio.hpp
Tried to fix some errors with BOOST_FOREACH

I capped each call to BOOST_FOREACH with {} to be sure the scope was
maintained properly.
Missed a set of braces for BOOST_FOREACH
This improves the Windows IOCP backend significantly by fixing the 64Kb transfer limit, though VS2013 Preview keeps hanging during execution which may well be the Preview and not this code. I have failed after two attempts to fix the lack of multi-buffer support problem :( I may just have to completely write out all of ASIO's file handling code completely and go direct :(
Merge branch 'MSVC_build' of https://github.com/BoostGSoC/boost.afio into MSVC_build
Found a syntax error with BOOST_FOREACH((

Hopefully this will be able to build again on linux
Merge branch 'MSVC_build' of https://github.com/BoostGSoC/boost.afio into MSVC_build
Tried to change some std::atomic to boost::afio::atomic overload

After making an atomic that we could use with older compilers, we still
needed to us it in the unit tests. There was some namespace overlap, and
atomic<T> was ambiguous, so I specifed the namespace boost::afio:: for all
occurances of atomic.

This should be ok, as boost::afio::atomic inherits from either
boost::atomic, or std::atomic, and esentially does nothing
Merge branch 'MSVC_build_merged_with_master' into MSVC_build

Conflicts:
	boost/afio/afio.hpp
	libs/afio/src/afio.cpp
	libs/afio/test/Jamfile.v2
Changed boost::afio::atomic to be a minimal wraper for std::atomic or
boost::atomic
Removed operator=, and used std::forward<>
Missed a set of () for std::forward<>
Added variadic template macros for older compilers

This is my first attempt, so hopefully I havene't broken the linux build,
and everything will be smooth.
Made some changes to try to fix MSVC_build
Fixed some issues with the preprocessor macros for variadic templates

g++ proved to be very helpful
Fixed a stupid mistake with <chrono>

simple as using namespace . . .
Fixed up several errors in the preprocessor variadic template emulation