soup_uri_to_string: document that passwords are never output
tests: headers-parsing: allow checks with case insensitive headers fields

https://bugzilla.gnome.org/show_bug.cgi?id=722341
tests: headers: allow checks on non present headers fields

https://bugzilla.gnome.org/show_bug.cgi?id=722341
soup-headers: straighten parsing with header lines missing ':'

The following header is missing a ':' character and should raise a
parsing error :

'HTTP/1.0 200 ok\r\nHeader1 value3\r\n'

But at the moment it's considered valid, the header parser just skip
the invalid line.

https://bugzilla.gnome.org/show_bug.cgi?id=722317
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