soup-server: add new-and-improved APIs

Add new APIs to SoupServer, allowing multiple listening sockets on a
server, and listening on an existing fd or GSocket, and with better
error handling.

https://bugzilla.gnome.org/show_bug.cgi?id=522519
https://bugzilla.gnome.org/show_bug.cgi?id=561547
https://bugzilla.gnome.org/show_bug.cgi?id=621138
tests: port old tests to new SoupServer APIs, add some new tests
SoupServer: add deprecation tags to deprecated API
soup-session: fix connection-closing behavior on abort

soup_session_abort()'s docs claim that it closes "all idle persistent
connections", but it was actually trying to close *all* connections,
including ones that were being actively used in other threads. Fix
that.

https://bugzilla.redhat.com/show_bug.cgi?id=1093314
Add tls-interaction property to SoupSession

This can be used by applications to do client-side certificates via
the new g_tls_interaction_request_certificate().  Will be used by
OSTree at least.

Also add a test to tls-test.

Based on a patch from Colin Walters.

https://bugzilla.gnome.org/show_bug.cgi?id=334021
Pop the thread default main context not from the callback but from where it was pushed

Based on a patch by Dmitry Shatrov <shatrov@gmail.com>, see
http://mail.gnome.org/archives/libsoup-list/2011-November/msg00000.html

https://bugzilla.gnome.org/show_bug.cgi?id=729737
Updated Brazilian Portuguese translation
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.
server: allow steal_connection() to work with unfinished messages
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
session: give a chance to async callback to access the connection
session: implement soup_session_proxy_connect()
session: fix soup_session_proxy_connect_async()
session: don't leave CONNECT message unprocessed
test: header-parsing: add more tests from Cockpit project
soup: import websocket code from Cockpit project
soup: websocket: switching to libsoup's coding style
examples: add WebSocket example
tests: add WebSockets tests
soup-message-headers: expose headers type