The scp & ssh clients now write to a temp file on the remote destination.

Added a wrapper for ssh2's `rename()` function to the ssh client.

Made the ssh & scp client implementations of `writeFile()` write to a temporary file (the final dest plus .TMP), then call rename() to move the file into its final destination once the write is complete.

Renamed a function for clarity. `_execute()` is so vague.

Bumped dependency versions.