Added a context manager that lets one edit a file and restore it later.
Added some documentation.
Added a BackupEditAndRestore context manager to make it easy to edit then restore files.
Cleaned-up some code and used the BackupEditAndRestore context manager in the SSH harness test case.
Fixed a few typos.