Adding download progress block on demand

There is some overhead incurred when tracking the progress for a http task. This doesn't add the download progress block until one of the progress methods are called.