agent: Add channel with 'null' payload type

This channel doesn't send anything and drops all data it receives.
It is analogous to /dev/null

Reviewed-By: Patrick Uiterwijk <puiterwijk@redhat.com>
ws: Add 'logout' command, processed by cockpit-ws

The logout command tells the web service to discard credentials
and optionally disconnect the user.

Reviewed-By: Patrick Uiterwijk <puiterwijk@redhat.com>
shell: Add Channel.transport.logout() method

This sends the "logout" command to cockpit-ws.

Reviewed-By: Patrick Uiterwijk <puiterwijk@redhat.com>
shell: Use the logout command to logout and deauthorize

Reviewed-By: Patrick Uiterwijk <puiterwijk@redhat.com>
ws: Remove the old /logout and /deauthorize handlers

This includes the CockpitAuth handling of the logout message.

Note that the Cockpit cookie remains in the browser. But this isn't
a big deal and is the same result if the user just closes the browser.

Fixes #541

Reviewed-By: Patrick Uiterwijk <puiterwijk@redhat.com>
websocket: Don't complain if hixie76 client doesn't close

It seems some hixie76 WebSocket clients just expect the server
to close, so don't complain when that happens.

Reviewed-By: Patrick Uiterwijk <puiterwijk@redhat.com>
websocket: Fix some misspellings as the hixie76

Closes #865
Reviewed-By: Patrick Uiterwijk <puiterwijk@redhat.com>