Reland: Add GCMChannelStatusSyncer to schedule requests and enable/disable GCM

BUG=384041
TEST=new tests added

Committed: https://crrev.com/3c23f4a188e171998f3042ad62f4aa5717e66d63
Cr-Commit-Position: refs/heads/master@{#295524}

Review URL: https://codereview.chromium.org/561943002

Cr-Commit-Position: refs/heads/master@{#295645}
diff --git a/components/gcm_driver/DEPS b/components/gcm_driver/DEPS
index cbffdad..93923ff 100644
--- a/components/gcm_driver/DEPS
+++ b/components/gcm_driver/DEPS
@@ -1,5 +1,6 @@
 include_rules = [
   "+components/os_crypt",
+  "+components/pref_registry",
   # TODO(johnme): Fix this layering violation.
   "!content/public/android/java",
   "+google_apis/gaia",