Move stub resolver config retrieval to its own class

SystemNetworkConfigManager::GetStubResolverConfig() and the
chrome_browser_net::DisableDohFor...() util methods from
chrome/browser/net/dns_util.h moved to the new class. Everything moved
as-is without changes except that GetStubResolverConfig() is now
non-static and uses a saved PrefService field instead of always passing
it in.

The new class is owned by the singleton SystemNetworkConfigManager
instance and can be retrieved using a GetStubResolverConfigReader()
static method.

Added a static ...for_testing instance in SystemNetworkConfigManager
because DnsProbeServiceTest was running in a state where
SystemNetworkConfigManager couldn't be instantiated and was thus
previously relying on everything being static.

[email protected],[email protected]

Bug: 1064346
Change-Id: Ic3cb65a42254f1e6640d80a5024dd847f0cd7f22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132538
Commit-Queue: Eric Orth <[email protected]>
Commit-Queue: Ryan Sleevi <[email protected]>
Reviewed-by: Ryan Sleevi <[email protected]>
Reviewed-by: Matt Menke <[email protected]>
Auto-Submit: Eric Orth <[email protected]>
Cr-Commit-Position: refs/heads/master@{#755953}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 405800c6..8d1bdda 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -941,6 +941,8 @@
     "net/secure_dns_policy_handler.h",
     "net/service_providers_win.cc",
     "net/service_providers_win.h",
+    "net/stub_resolver_config_reader.cc",
+    "net/stub_resolver_config_reader.h",
     "net/system_network_context_manager.cc",
     "net/system_network_context_manager.h",
     "net_benchmarking.cc",