[Downloads] Factor out request handling logic between DRH and UD.

DownloadResourceHandler and UrlDownloader both have a lot in common since they
are both responsible for driving a URL request. The only difference being that
DRH is written to be a part of the ResourceLoader stack, while UrlDownloader
drives a URLRequest on its own. This CL factors out the common bits in both so
that upcoming fixes to downloads resumption can be made and tested in one
location.

R=svaldez@chromium.org
BUG=7648
BUG=225901

Review URL: https://codereview.chromium.org/1533583002

Cr-Commit-Position: refs/heads/master@{#366459}
15 files changed