Download driver for components/download.

This CL introduces the glue layer between //components/download and
//content. The DownloadDriver interface will be the only place to access
content functionalities from download service.

Also provides a test support class for //components/download code. The
test support version of DownloadManager is not done in this CL.

The response/request headers pumping is not done in this CL, which
requires tweak on download network code.

BUG=717180

Review-Url: https://codereview.chromium.org/2880933002
Cr-Commit-Position: refs/heads/master@{#474191}
27 files changed