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
Make tests in test.utils discoverable
changed CSV file to Excel file for ease of use
Add example of using Key-based SFTP Authentication
replaced previous manual subject mapping instructions with .docx with pictures and simpler instructions
Update CHANGELOG and setup.py for release 0.9.0
Revert portions of f75bd716 to allow gsm_lib.py to find GSMLogger class
Merge branch 'release/0.9.0'

Conflicts:
	doc/manual_research_subject_mapping/README_create_research_subject_map.md (deleted)