Ensure cache is unlinked on I/O error

If interrupting the SSH client (eg Ctrl-C) the cache file would
still be created, zero length or worse with bad data. Ensure
that we catch any exception and unlink the cache file.
Run ssh in non-interactive batchmode

Pass flags to ssh to ensure it doesn't try to use the tty or
otherwise interact with the user. This avoids it hanging
when the host key is not known.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>