eliminate deadlock in the S3 ProgressListener

A bug was introduced in commit 41e3b5e272, PR #13, that caused deadlock. The resolution is to ensure that the progress listener does not make any blocking calls on the transfer that it is listening to.

minor: include some additional Scratch code.
Merge pull request #14 from pellucidanalytics/fix/futuretransfer-deadlock

Eliminate deadlock in the S3 ProgressListener