reimplement ssh proxying using ssh transport

Removes fragile, bulky code and provides a more robust solution,
as well as negating the depedency on a local ssh program.

Coincident updates:
- renames keyword argument 'proxy' to 'gateway' and updates
  close() method to handle the closure of that connection as well
- renames underlying RemoteShell client to _client attribute
    - uses this attribute to access methods

Change-Id: Ie1ce9f19fbe5bb4341fb6721e3069c1d267be95f
Implements: blueprint reimplement-ssh-proxy