Remove obsolete classes, disable unused code, and tidy up:
* Removed MultiSocket. Code that previously used the MultiSocket now uses
  a combination of boost::asio coroutines and CRTP.
* Sitefiles headers rolled up and directory flattened.
* Disabled Sitefiles use of deprecated HTTPClient.
* Validators headers tidied up.
* Disabled Validators use of deprecated HTTPClient.
Remove unused and obsolete classes and tidy up:
Many classes required to support type-erasure of handlers and boost::asio
types are now obsolete, so these classes and files are removed:
HTTPClientType, FixedInputBuffer, PeerRole, socket_wrapper,
client_session, basic_url, abstract_socket, buffer_sequence, memory_buffer,
enable_wait_for_async, shared_handler, wrap_handler, streambuf,
ContentBodyBuffer, SSLContext, completion-handler based handshake detectors.
These structural changes are made:
* Some missing includes added to headers
* asio module directory flattened
Add [overlay] configuration section (experimental):
This configuration section uses the new BasicConfig interface that supports
key-value pairs in the section. Some exposition is added to the example cfg
file. The new settings for overlay are related to the Hub and Spoke feature
which is currently in development. Production servers should not set
these configuration options, they are clearly marked experimental in the
example cfg file.
Always detect ssl in HTTP server
Add new Handler interfaces
Persist HTTP peer io_service::work lifetime
Add HTTP::Writer interface:
The Writer interface allows clients to supply a "pull" style object to provide
responses to HTTP Requests. The interface is designed to support a coroutine
based implementation.
Tidy up includes
Split implementation into three headers
Use ssl_bundle in SSLPeer
Call HTTP Handler with legacy peer handshake
Use ssl_bundle in Overlay::Peer
Construct Overlay::Peer with ssl_bundle and legacy handshake
Pass legacy peer handshakes through Overlay
De-pimpl HTTP::Server
Add Section::name:
The Section object now stores its name for better diagnostic messages.
Add doors section in cfg
Add [doors] parsing code
Rename to legacy_context
Tidy up declarations