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/chromeos_policy.cc b/update_manager/chromeos_policy.cc
index 3fb680a..900a845 100644
--- a/update_manager/chromeos_policy.cc
+++ b/update_manager/chromeos_policy.cc
@@ -236,8 +236,13 @@
       // Get the required platform version from Chrome.
       const string* kiosk_required_platform_version_p =
           ec->GetValue(system_provider->var_kiosk_required_platform_version());
-      if (kiosk_required_platform_version_p)
-        result->target_version_prefix = *kiosk_required_platform_version_p;
+      if (!kiosk_required_platform_version_p) {
+        LOG(INFO) << "Kiosk app required platform version is not fetched, "
+                     "blocking update checks";
+        return EvalStatus::kAskMeAgainLater;
+      }
+
+      result->target_version_prefix = *kiosk_required_platform_version_p;
       LOG(INFO) << "Allow kiosk app to control Chrome version policy is set,"
                 << ", target version is "
                 << (kiosk_required_platform_version_p