Replace the paramiko implementation with direct Popen calls for ssh

Paramiko is very strict about authentication, and we cannot figure out what configuration settings we must set in order to have ssh calls work with hosts that have properly configured keys. So we are replacing Paramiko with bare ssh calls from Popen.

this commit fixes #16 
I realized that this is breaking abstraction, as self._shell_client is supposed to return either a local shell object or an ssh shell object.