Follow up on AllowKioskAppControlChromeVersion policy CL

- Update header includes, adding missed and removing unused.
- UpdateCheckAllowedKioskPinWithNoRequiredVersion verifies target
  version prefix is empty.
- Change RealSystemProvider's required platform version variable to
  be a RetryPollVariable to handle D-Bus call failure.
- Update ChromeOSPolicy to defer update check when kiosk pin policy
  is effective but system provider does not set the required platform
  version.

BUG=chromium:577783

Change-Id: Id5400d09fff69001a37e367fff9ede1664c2e060
diff --git a/update_manager/variable.h b/update_manager/variable.h
index 98774ef..7109692 100644
--- a/update_manager/variable.h
+++ b/update_manager/variable.h
@@ -114,6 +114,13 @@
   BaseVariable(const std::string& name, base::TimeDelta poll_interval)
       : BaseVariable(name, kVariableModePoll, poll_interval) {}
 
+  // Reset the poll interval on a polling variable to the given one.
+  void SetPollInterval(base::TimeDelta poll_interval) {
+    DCHECK_EQ(kVariableModePoll, mode_) << "Can't set the poll_interval on a "
+                                        << mode_ << " variable";
+    poll_interval_ = poll_interval;
+  }
+
   // Calls ValueChanged on all the observers.
   void NotifyValueChanged() {
     // Fire all the observer methods from the main loop as single call. In order
@@ -166,7 +173,7 @@
 
   // The variable's polling interval for VariableModePoll variable and 0 for
   // other modes.
-  const base::TimeDelta poll_interval_;
+  base::TimeDelta poll_interval_;
 
   // The list of value changes observers.
   std::list<BaseVariable::ObserverInterface*> observer_list_;