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.