Fix Win32 build.
Fix comment headers to match file names.
The openssl_locking_func() callback can be invoked through
OpenSSL_add_ssl_algorithms(), which causes instance() to be called
recursively before the static shared_ptr was initialized.
Remove inclusion of boost/cerrno.hpp header.
Ensure that what gets thrown is the system_error exception.
Remove documentation that is no longer correct.
Change to use function-based placeholders for gcc to avoid some duplicate
symbol linker problems.
Fix -Wextra warning.
Don't use named temporary since it confuses g++ 3.3.
Need to clear error after successful call of WSAAddressToString or
WSAStringToAddress.
Need to add boost/cerrno.hpp include in error.hpp.
Add ability to specify the level of concurrency desired, which is currently
used by Win32's I/O completion ports.
Remove unnecessary invoke hook since the default one provides the correct
behaviour, and including it here for the invoke_current_handler class breaks
MSVC 7.1 when generating browse information.
Remove the error::success constant since with the new error_code stuff
there is no unique value for success.
Add a workaround for an apparent Windows bug where the delivery of
asynchronous I/O completions is delayed if the thread used to start the
operation is CPU bound.
Add missing inline keyword, needed to fix multiple definition errors.
Include <ostream> instead of <iostream>.
Add equality/inequality operators for protocol classes.
Use static placeholders for VC7.x
Replace win_iocp_io_service::register_socket() with register_handle() to
allow it to be used with other Windows kernel objects.