Automated test support for salt-ssh

This lays most of the groundwork for an automated test framework for salt-ssh.

The general approach here is that we spin up a sshd listening on an alternate port and populate it with a known shared key that lasts for the life of the session. Integration tests are simply handled by calling out to salt-ssh directly.

To put this into production, we'll need to first to add support for specifying a key file in a roster instead of relying on the SSH subsystem to find it for us. There are a number of refinements that should follow as well, including properly tearing down the SSH daemon and adding things like specialized functionality for testing various aspects of the salt-thin deploys. This should be a good start, however. 

I'm not totally sure I'm using the most appropriate temporary directories here, so suggestions on that front are especially welcome.

Review by @s0undt3ch is probably best before merging.

cc: @s0undt3ch and @rallytime