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
websocket-client: fix annotation
websocket: transition WebSockets to use SoupMessageHeaders

The Cockpit prject has its own header parsing code because it doesn't
depend on libsoup. Now that it is integrated within libsoup, we can
drop that code.
tests: add websocket tests from the Cockpit project
websocket: expose get_accept_key() method
tests: websocket: switch to libsoup's coding style
websocket-connection: switch away from raw url string to use SoupURI
websocket-server: add client-handshake signal

This signal allow the application acting as server to decide whether
it accepts to denies a client's connection. To do so it is given the
resource asked by the client and the headers and should return a
SoupStatus code SWITCHING_PROTOCOLS to accept the connection, or any
other code to reject the connection.
message-headers: add contains() method
websocket: drop internal function in favor of soup_message_headers_contains()
message-headers: add equals() method
websocket: drop internal function in favor of soup_message_headers_equals()
message-headers: add empty() method
websocket: drop internal function in favor of soup_message_headers_empty()
session: add websocket-flavor property