Report upload progress to download client.

This CL uses the UploadProgressTracker and plumbs the information all the way
to the download client.
This is enabled for all possible paths:
- kNetworkService enabled
- kNetworService disabled
- in-memory downloads

Non-plumbing related changes:
- Add upload progress tracker to url_downloader.cc (kNetworkService enabled path)
- Turn on `enable_upload_progress` flag in download_utils.cc and in_memory_download.cc

Bug: 774054
Change-Id: I3dee625a5833312fbbec579784953c334d46b1f5
Reviewed-on: https://chromium-review.googlesource.com/c/1380540
Commit-Queue: Shakti Sahu <shaktisahu@chromium.org>
Reviewed-by: Shakti Sahu <shaktisahu@chromium.org>
Reviewed-by: Min Qin <qinmin@chromium.org>
Reviewed-by: Cathy Li <chili@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618450}
33 files changed