NS: Support WebRequest with download link requests

Downloads initiated by download link interaction were not plumbed
through the WebRequest path at all when NS is enabled. This fixes
that. See changes to download_manager_impl.cc, which constitute the
bulk of the interesting diff here.

The rest of the CL is plumbing a flag through
WebRequestProxyingURLLoaderFactory so it knows that these requests
are downloads, because leaning on ResourceType seemed like the
wrong thing to do (it's defined by content, and the ResourceRequest
is constructed within a component that can't depend on content).

Bug: 935567
Change-Id: I88f535d5e99435d7bae8ca6046ffa1b88d339bf1
Reviewed-on: https://chromium-review.googlesource.com/c/1493637
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636386}
22 files changed