SoupSessionHost: split from SoupSession

HTTP/2.0 will need to do connection management differently, so let's
split SoupSessionHost out of soup-session.c in preparation for making
it more complicated.

(The split is a little bit awkward at the moment but will hopefully be
cleaned up some.)
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 (and now the SoupSessionHost) to
the SoupSocket. Wrap them all up into a single struct for ease of
carrying.