PM: Add a time provider.

This implements a time provider interface, as well as a real and a fake
implementation.

BUG=chromium:341205
TEST=Unit tests.

Change-Id: Ibc6a865ab868e0f8c760c003dc970b7987896a36
Reviewed-on: https://chromium-review.googlesource.com/190247
Tested-by: Gilad Arnold <garnold@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
diff --git a/policy_manager/real_state.cc b/policy_manager/real_state.cc
index 8f99869..2f9f3cc 100644
--- a/policy_manager/real_state.cc
+++ b/policy_manager/real_state.cc
@@ -6,13 +6,16 @@
 
 #include "update_engine/policy_manager/real_random_provider.h"
 #include "update_engine/policy_manager/real_shill_provider.h"
+#include "update_engine/policy_manager/real_time_provider.h"
 
 namespace chromeos_policy_manager {
 
 RealState::RealState(RandomProvider* random_provider,
-                     ShillProvider* shill_provider) {
+                     ShillProvider* shill_provider,
+                     TimeProvider* time_provider) {
   set_random_provider(random_provider);
   set_shill_provider(shill_provider);
+  set_time_provider(time_provider);
 }
 
 }  // namespace chromeos_policy_manager