update_engine: Add minimum version policy impl

This CL adds minimum version policy handler which checks if the current
Chrome OS version is less than the highest version specified in the
DeviceMinimumVersion policy.
The intent is to consult this policy in a later CL in
ChromeOSPolicy::UpdateCanBeApplied as download time restrictions will
not be applied if current Chrome OS version is
less than version provided by DeviceMinimumVersion policy.

BUG=chromium:1117450
TEST=FEATURES=test emerge-${BOARD} update_engine

Change-Id: I06ce66c4c85ac2718d9256c944160d63a6ac7e31
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2530630
Commit-Queue: Saurabh Nijhara <snijhara@google.com>
Tested-by: Saurabh Nijhara <snijhara@google.com>
Reviewed-by: Jae Hoon Kim <kimjae@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index f7296ac..1f5dc7f 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -226,6 +226,7 @@
     "update_manager/enterprise_device_policy_impl.cc",
     "update_manager/evaluation_context.cc",
     "update_manager/interactive_update_policy_impl.cc",
+    "update_manager/minimum_version_policy_impl.cc",
     "update_manager/next_update_check_policy_impl.cc",
     "update_manager/official_build_check_policy_impl.cc",
     "update_manager/out_of_box_experience_policy_impl.cc",
@@ -528,6 +529,7 @@
       "update_manager/enterprise_device_policy_impl_unittest.cc",
       "update_manager/evaluation_context_unittest.cc",
       "update_manager/generic_variables_unittest.cc",
+      "update_manager/minimum_version_policy_impl_unittest.cc",
       "update_manager/prng_unittest.cc",
       "update_manager/real_device_policy_provider_unittest.cc",
       "update_manager/real_random_provider_unittest.cc",