Initial asio checkin.
Ensure synchronous SSL functions call the supplied Error_Handler object.
Fix bug in reactor_op_queue::dispatch_all_operations().
Documentation fixes. Clean up basic_streambuf-related functions.
Test that all ssl::stream functions compile.
Fix Jamfiles to follow layout used by other libraries' tests.
Add HTTP client examples that show how to use read_until/async_read_until.
Automatically define WIN32 for MSVC, since some old Platform SDKs don't
automatically define it, but Winsock2.h requires it.
Add support for compiling on Mac OS X 10.3.
Use correct form for strerror_r on NetBSD.
Extend socket_base unit test to catch socket option compile errors.
Change strand implementation so that dispatch will execute a handler
immediately if called from within the strand.

Add hook function for customising handler dispatch.

Need to use reinterpret_cast when testing for enable_connection_aborted
socket option, to allow non-int socket options to compile correctly.
Remove extraneous comma from end of enumerator list.
Remove accidentally duplicated code. Fix error in conditional expression.
Remove redundant code after end of endless for loop.
Add overloads of read_until and async_read_until that take a string. Fix
bug in regex-based overload of async_read_until.
Fix error in socket_base_test rule.
Remove tab characters.
Add copyright notices.
Fix two problems in the SSL implementation:

- A read operation should check the read buffer first to see if there's any
  data present and use that first, before issuing a new read from the
  socket.

- The read buffer was a member of the openssl_operation class, and a new
  openssl_operation object is created for each read or write initiated by
  the application. This meant that any surplus data from a previous read is
  lost. Changed the buffer to be a member of the stream object.