Allow upgrade to DoH during automatic mode.

Uses a hardcoded mapping to upgrade insecure DNS and DoT services to
associated DoH services. The mapping is preliminary and will be adjusted
before we run an experiment.

Whether upgrade is attempted is controlled by the new kDnsOverHttpsUpgrade
feature, which is enabled by default on ChromeOS, MacOS, Android, and
Windows. Problematic providers can be excluded from the mapping using the
kDnsOverHttpsUpgradeDisabledProvidersParam feature.

Example usage: --enable-features="DnsOverHttpsUpgrade<DoHTrial" \
--force-fieldtrials="DoHTrial/Group1" --force-fieldtrial-params=\
"DoHTrial.Group1:DisabledProviders/Google"

Bug: 985589
Change-Id: Ife81913bf5b7aade66cace1d3d8ad87d55b11ee5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1638928
Commit-Queue: Katharine Daly <dalyk@google.com>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Eric Orth <ericorth@chromium.org>
Cr-Commit-Position: refs/heads/master@{#692989}
17 files changed