FIXUP: Refactor around connect_server.

This makes connect_server the only function that creates clients.
FIXUP: Deal with "knownhosts lines" and recreate known_hosts always.
ws: Don't warn when expected key is "".
ws: Return "terminated" instead of "disconnected" in one case.

This happens when the sshd process on the remote side is killed, which
happens when a session is killed with loginctl kill-user or loginctl
kill-session.
FIXUP: Adapt integration tests.