Add scap.ssh module

This patch provides a replacement for DSH that is implemented in Python. It
works by having a generator that forks subprocesses of OpenSSH and collates
their output and exit statuses.

To keep things manageable, this patch merely introduces the SSH module.
A subsequent patch will replace invocations of dsh with scap.ssh.cluster_ssh
and scap.ssh.cluster_run.

Basic strategy: on each iteration, make a non-blocking check for terminated
children via os.waitpid w/the os.WNOHANG flag. Then drain any output buffers
that are ready to be read, using non-block IO. Then reap terminated children,
if there were any.

What's the point, if we're simply replacing Popen(dsh) with Popen(ssh)? Because
it allows us to monitor the progress of the command as it runs, and because we
know the outcome (stdout + stderr + exit status) for each host without having to
reconstruct it from DSH's collated output.

Change-Id: I6a52a93dc0083979d903becb9c768c6a24d82e03