tools: Distribute jsl.sed in the tarball

Closes #1344
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
agent: Respect non-standard --prefix when looking for packages

When built with a non-standard --prefix=/xxxx then override the
$XDG_DATA_DIRS environment variable in cockpit-agent so that
we find our packages in the installed location.

Fixes #1342
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
configure: Add --enable-prefix-only option to restrict to prefix

Restrict 'make install' to --prefix when '--enable-prefix-only'
is used. This will result in a cockpit that doesn't work without
further tweaking, but is an advanced tool for advanced use cases.

Fixes #1343
Closes #1346
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
ws: Send and expect 'init' control messages over each transport

Each transport when opened sends 'init' control messages to each
other. This is initially used to double check that the same protocol
version is in use. But this will be expanded in later commits.
ws: Don't complain if SSH connection already closed when writing

When closing an SSH connection, don't complain if it's already
closed. libssh returns SSH_REQUEST_DENIED in this case.

This happens when the remote has closed but libssh hasn't let us
know yet. We assume that the notification will come soon.
ws: Send a 'channel-seed' in the WebSocket init message

This allows various web sockets to generate unique channels, without
having to get into NAT'ing everything in CockpitWebService.

This is necessary once various frames are the source of channels.
They'll need to be seeded appropriately so that they pick unique
channel ids.

The way that channels get their id, also needs to change a bit.
The id can't be allocated until the transport is open. So queueing
of messages happens at the channel level now.
ws: Send user info in the 'init' control channel message

Rather than filling in the user into the index page environment,
send it in the 'init' control message, along with the cockpit
setup info.

The index page will be changing, and this is much cleaner.

Closes #1332