Addressed timeoutTimer cancellation issues

- assign a cancel handler to the dispatch source and release the timer there
- Also provide more verbose sftp error messages in some cases