Make CertLoader aware of policy-provided authority certificates

Make CertLoader explicitly aware of authority certificates provided by
device and user policy.
Rationale: Since the refactoring in https://crbug.com/787602,
policy-provided certificates are not imported into the user's NSS
Database anymore. As a bonus, this also makes device policy proivded CA
certificates available to CertLoader (and thus the chromeos network UI).

To do this in a clean way,
(*) The PolicyCertificateProvider interface has been moved from
    chrome/browser/chromeos/policy/ to chromeos/ so it is accessible
    from chromeos/cert_loader.{h,cc}.
(*) Implementation of the PolicyCertificateProvider has been pushed from
    UserNetworkConfigurationUpdater into the base class
    NetworkConfigurationUpdater, so DeviceNetworkConfigurationUpdater
    also implements the interface now.
(*) CertLoader can now accept a PolicyCertificateProvider for device and
    user policy.
(*) The chromeos-specific code in chrome/browser/chromeos now passes the
    global DeviceNetworkConfigurationUpdater and the primary profile's
    UserNetworkConfigurationUpdater to CertLoader.

      browser_test --gtest_filter=PolicyProvidedTrustAnchorsRegularUserTest.AuthorityAvailableThroughCertLoader

Bug: 882641, 787602
Test: chromeos_unittests --gtest_filter=*CertLoader* &&
Change-Id: Iafb213150f3c9dbfdfe1ecd1a1f9d2a0099a30f2
Reviewed-on: https://chromium-review.googlesource.com/1231937
Commit-Queue: Pavol Marko <[email protected]>
Reviewed-by: Maksim Ivanov <[email protected]>
Reviewed-by: Alexander Hendrich <[email protected]>
Reviewed-by: Steven Bennetts <[email protected]>
Reviewed-by: Matt Mueller <[email protected]>
Cr-Commit-Position: refs/heads/master@{#593534}
diff --git a/chrome/browser/certificate_manager_model.h b/chrome/browser/certificate_manager_model.h
index 119a46c6..cb296a2 100644
--- a/chrome/browser/certificate_manager_model.h
+++ b/chrome/browser/certificate_manager_model.h
@@ -25,9 +25,6 @@
 #if defined(OS_CHROMEOS)
 namespace chromeos {
 class CertificateProvider;
-}
-
-namespace policy {
 class PolicyCertificateProvider;
 }
 #endif
@@ -108,7 +105,7 @@
   struct Params {
 #if defined(OS_CHROMEOS)
     // May be nullptr.
-    policy::PolicyCertificateProvider* policy_certs_provider = nullptr;
+    chromeos::PolicyCertificateProvider* policy_certs_provider = nullptr;
     // May be nullptr.
     std::unique_ptr<chromeos::CertificateProvider>
         extension_certificate_provider;