Provide periodic updates of files being downloaded/uploaded to/from SFTP server

Adds the ability to get periodic updates of files being downloaded/uploaded to SFTP server

Please note: I have one question I need an answer for. That is, in SFTP.m writeStream:toSFTPHandle:progress: do I need to remove a partially downloaded file if the user cancels the upload/download process? Typically you would want to download a file to a temporary location before moving it to its final destination. In this scenario I believe it would make sense to remove the file in this logic. However, not all developers may do that. Depending on how the developer is using the library, by deleting it in writeStream:toSFTPHandle:progress: there is the possibility of removing a file that a developer would not expect to be removed.

The other option is to download ALL files in a temporary location and then move the file to the destination after the download is complete. That would be the most ideal way of handling this process.