Add functional tests for key-based SFTP auth

Issue 6095
Support key-based SFTP authentication

Replace paramiko with pysftp to support key-based authentication. While,
paramiko library supports this, we were already using pysftp for the
"get" operation, so I changed over to make it more consistent.

Furthermore, pysftp supports the "makedirs()" function which is
convienent for upload files to non-existent sub-directories.

Issue 6095
Update GSMI with new send_file_to_uri() signature

Issue 6095
6095: Move parse_host_and_port() to gsm_lib
Add test for sftp_transactions.get()

Wrote functional test for get(). Also removed cruft and duplication in
sftp_transactions.

Issue 6095
Update GSM with new sftp_transactions signature

Issue 6095
Rename sftp_transactions to SFTPClient

SFTPClient better reflects the responsibility of the class. While not
nearly a full-fledged "client", it does conveniently expose get and send
functions which is all our calling code really cares about.

Filenames and testing code was updated as well.

Issue 6095