Do prompt for an SSH passphrase if there is no NixOps-generated key

For instance, for containers, we need to connect to root@localhost,
using the user's default identities, which may have a passphrase.
Move setting number of tries to get_master
Don't retry when connecting to localhost

It's kind of pointless to try a failing connection to localhost over
and over, since the connection is not going to get any better.
Sleep before retrying an SSH connection

Repeating a failing command right away is unlikely to end any better.
Add FIXME item
Shut down SSH master processes if NixOps gets interrupted

Before, doing Ctrl-C would leave one or more dangling SSH master
processes behind, which stay around forever. Now they're shutdown
using an atexit handler.

On Linux, it would be more reliable to auto-kill the SSH child
processes using PR_SET_PDEATHSIG. However, that doesn't work because
the SSH master forks into the background. We could run the master in
the foreground, but then we have to detect when it has finished
connecting (doable using -o LocalCommand).
Shut down the SSH master after 10 minutes of inactivity

This ensures that even if NixOps gets killed without cleaning up its
SSH master processes, they will quit eventually. Note that it's fine
if the master quits prematurely while NixOps is still running, because
any clients of the master connection will just fall back to connecting
by themselves.