Rename DownloadListener to DownloadProgressTracker
Change how DownloadProgressTracker waits for progress to avoid possible deadlocks.