Send the system image build fingerprint and bootloader versions.

In Android, we had STUBS for the bootloader (firmware) version, board,
and EC version. This patch populates those versions and strings based on
the system props using Android standard properties and includes the full
build.fingerprint in the request, which could be used to double-check
the request.

Bug: 35364971
Test: `update_engine_client --check_for_update` sends all this
information now.

(cherry picked from commit 094ce0bec1de7952e2ddc6c0f3c94dc3615b99c0)

Change-Id: I8265c5b8f4415f825160ea259c5b84b4b77372d7
diff --git a/omaha_request_action.cc b/omaha_request_action.cc
index 3d2dac1..b06de09 100644
--- a/omaha_request_action.cc
+++ b/omaha_request_action.cc
@@ -258,11 +258,18 @@
   app_cohort_args += GetCohortArgXml(system_state->prefs(),
                                      "cohortname", kPrefsOmahaCohortName);
 
+  string fingerprint_arg;
+  if (!params->os_build_fingerprint().empty()) {
+    fingerprint_arg =
+        "fingerprint=\"" + XmlEncodeWithDefault(params->os_build_fingerprint(), "") + "\" ";
+  }
+
   string app_xml = "    <app "
       "appid=\"" + XmlEncodeWithDefault(params->GetAppId(), "") + "\" " +
       app_cohort_args +
       app_versions +
       app_channels +
+      fingerprint_arg +
       "lang=\"" + XmlEncodeWithDefault(params->app_lang(), "en-US") + "\" " +
       "board=\"" + XmlEncodeWithDefault(params->os_board(), "") + "\" " +
       "hardware_class=\"" + XmlEncodeWithDefault(params->hwid(), "") + "\" " +