ws: Add a channel open 'host-key' field for expecting a key

If we know which key to expect (such as after the user has
approved it) we can expect just that host-key when opening
a channel to a remote machine.
web: Expose the error details in DBusClient

After closing due to an unknown-hostkey failure we want the details
of the host-key and host-fingerprint to be accessible on the
DBusClient.
daemon: Make Machines object testable and add basic test

Simplify the periphery and around Machines and Machine objects
and decouple them from Daemon. This allows us to start writing
tests for this stuff. In addition construct properties don't
need to be getable if that's not necessary functionality.

Add a single test of a basic 'Add' call to Machines. This is
not meant to be comprehensive, but just get us started.
daemon: Implement support for host keys when adding machine

Add a new host_key parameter to Machines.Add(). If non-empty the
key there gets added to our known_hosts file.
web: Fix 'Login with my current credentials' checkbox

This checkbox had no effect.
ws: Use display MD5 ssh key fingerprints as ssh client does

Use the standard MD5 fingerprints for display, just like the
openssh ssh client does.
ws: Quiet down tests that were added/modified in libssh work
web: Display fingerprints in initial setup and add to known_hosts

Show real host fingerprint in initial setup and add to known_hosts
so that we can later connect to the host without problems.

We refactor the connectting to another server in PageSetupServer a
bit since we need to reconnect at various stages with different
credentials and keys.

Closes #468
Use cockpit_agent_strmatch() in tests for clarity

This helps us see what the contents of the string were when
CI tests fail due to races or similar.