Create ContextHostResolver

Wraps HostResolverImpl and replaces almost all direct use of
HostResolverImpl. In subsequent CLs, this will become a per-context
object around the mostly-global HostResolverImpl, but until then, there
should be no functional difference from this CL alone. Just adding an
additional layer of indirection, generally invisible to callers.

In a slight deviation from a previous version of this work
(crrev.com/c/1418880), the new object is what implements the
HostResolver interface (not HostResolverImpl) to avoid including the
per-context parameters (especially HostCache) in the interface and keep
them implementation details between ContextHostResolver and
HostResolverImpl.

This also led to separating off ProcTaskParams
(to host_resolver_proc.h) as its no longer clearly owned by either
ContextHostResolver or HostResolverImpl (parameter to one, used by the
other) and it's now desirable to limit #includes of
host_resolver_impl.h.

Bug: 934402
Change-Id: I0a88614854011d52335d3a7bb335ba6a85fe0aa3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1481599
Reviewed-by: Paul Jensen <[email protected]>
Commit-Queue: Paul Jensen <[email protected]>
Auto-Submit: Eric Orth <[email protected]>
Cr-Commit-Position: refs/heads/master@{#638820}
24 files changed