Update copyright notices.
Add extra #include needed by latest Xcode.
Make system_error available via error.hpp.
Fix delegation of continuation hook.

Fixes boost trac ticket #9741.
Fix spawn() when Boost.Coroutine v2 is used.

Fixes boost trac tickets #9442, #9928.
Ensure incomplete coroutines are correctly unwound.

We must take care not to hold a shared_ptr to the coroutine across
its own suspension point, otherwise it will not be unwound by the
io_service destructor. Move-enabled C++11 compilers take care of this
automatically, but with C++03 we must explicitly reset the shared_ptr.

Fixes boost trac ticket #9731.
Compute greatest common divisor to prevent unnecessary integer overflow.

Fixes boost trac tickets #9662, #9778.
Fix occasional close() system call hang on MacOS.

Repeated re-registration of kqueue event filters seems to behave as
though there is some kind of "leak" on MacOS, culminating in a suspended
close() system call and an unkillable process. To avoid this, we will
register a descriptor's kqueue event filters once only i.e. when the
descriptor is first created.
Fix incorrect documentation on async_send.

Fixed boost trac ticket #9771.
Fix infinite recursion in operator~ implementation.

Fixes boost trac ticket #9548.
Clarify that commit() and consume() do not throw.

Fixes boost trac ticket #9605.
Make select_reactor more efficient on Windows for large numbers of sockets.

Fixes boost trac ticket #9528.
Fix type aliasing issue reported by gcc.

Fixes boost trac ticket #9550.
Disable GetQueuedCompletionStatus workaround on recent Windows versions.
Update some more copyright notices.
Use ConnectEx where available.

N.B. This change conservatively limits the use of ConnectEx to
connection-oriented IP sockets.