PolicyManager: UpdateCheckAllowed policy initial implementation.

This patch implements the UpdateCheckAllowed policy for ChromeOS
using the same logic we had on update_check_scheduler.cc. It checks
for updates onces every 45 minutes and does an exponential backoff
up to 4 hours when the update check fails. Some other parts of the
policy are not implemented, such as retry an update check with a
short delay on certain failures.

BUG=chromium:358269
TEST=Unittests added to the policy.

Change-Id: Ief8deff47fd6490bd70a22ba20abed05fcc37ab4
Reviewed-on: https://chromium-review.googlesource.com/197595
Reviewed-by: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/SConstruct b/SConstruct
index 39842ea..2fb23bc 100644
--- a/SConstruct
+++ b/SConstruct
@@ -241,6 +241,7 @@
                    policy_manager/evaluation_context.cc
                    policy_manager/event_loop.cc
                    policy_manager/policy_manager.cc
+                   policy_manager/policy.cc
                    policy_manager/real_config_provider.cc
                    policy_manager/real_device_policy_provider.cc
                    policy_manager/real_random_provider.cc
@@ -300,6 +301,7 @@
                             payload_signer_unittest.cc
                             payload_state_unittest.cc
                             policy_manager/boxed_value_unittest.cc
+                            policy_manager/chromeos_policy_unittest.cc
                             policy_manager/evaluation_context_unittest.cc
                             policy_manager/event_loop_unittest.cc
                             policy_manager/generic_variables_unittest.cc