soup-message-io: slight tweak to callback/error handling

Let the callback know whether I/O completed on the message, and move
the server-side "disconnect on I/O error" code from soup-message-io to
soup-server.
soup-server: add soup_client_context_steal_connection()

Add a method to allow a SoupServer handler to steal the connection
from the server, and use this in simple-proxy to implement CONNECT.
soup-session, soup-connection: update handling of "ssl" flag

Store all SoupSessionHosts with a URI using either "http" or "https"
as the scheme. Then we don't need to explicitly tell SoupConnection
whether the connection is SSL or not, since it can figure it out from
the URI.
soup-socket: Add SoupSocketProperties to transfer props from session to socket

There are a large number of SoupSession properties that need to be
propagated through the SoupConnection to the SoupSocket. Wrap them all
up into a single struct for ease of carrying.
soup-connection: don't disconnect the connection on dispose

In the normal case, SoupSession will do it itself, and in other cases
it might not be wanted.

https://bugzilla.gnome.org/show_bug.cgi?id=721343
soup-message-queue: minor fix

SoupMessageQueueItem's priority field is not private to
soup-message-queue.c.
soup-session: add soup_session_proxy_connect* functions

Add functions to connect to a remote host, possibly via an HTTP proxy.

Based on a patch from Dirkjan Ochtman.

https://bugzilla.gnome.org/show_bug.cgi?id=721343