[net/dns] Refactoring of DnsConfigService.

- Replaces Observer with Callback.
- The Callback is run within 100ms of any config change, not only on
  successful read. It is also run on errors in watches (registry and
  files). This allows HostResolverImpl to withdraw from using DnsTask
  until DnsConfig is read successfully.
- Moves DnsHostsReader to dns_hosts.{h,cc}).
- Handles missing HOSTS files.
- Respects network adapter binding order in DnsConfigServiceWin.
- Adds NetLog source for DnsConfig-related events.

BUG=112856, 115460, 115494
TEST=./net_unittests --gtest_filter=DnsConfig*

Review URL: http://codereview.chromium.org/9597029

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127190 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/dns/dns_test_util.h b/net/dns/dns_test_util.h
index e247be0..019dba8 100644
--- a/net/dns/dns_test_util.h
+++ b/net/dns/dns_test_util.h
@@ -166,6 +166,8 @@
  public:
   virtual ~MockDnsConfigService() {}
 
+  virtual void Watch(const CallbackType& callback) OVERRIDE;
+
   // Expose the protected methods for tests.
   void ChangeConfig(const DnsConfig& config) {
     DnsConfigService::OnConfigRead(config);