update_engine: Add fds for the source partitions.

Add new fds for the source partition, one for the rootfs and another for
the kernel. These are opened if we have a delta update with minor
version 2.

This change also adds support for changing the minor versions in tests.
There is a new private member, supported_minor_version_, which defaults
to kSupportedMinorPayloadVersion. It is set in the unit tests with calls
to SetSupportedVersion.

BUG=chromium:463573
TEST=`FEATURES=test emerge-link update_engine`

Change-Id: Ib988c91eb450b2499c615ae65b271691dfd9c651
Reviewed-on: https://chromium-review.googlesource.com/260950
Trybot-Ready: Allie Wood <alliewood@chromium.org>
Tested-by: Allie Wood <alliewood@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Allie Wood <alliewood@chromium.org>
diff --git a/install_plan.h b/install_plan.h
index 782f2ab..1772a47 100644
--- a/install_plan.h
+++ b/install_plan.h
@@ -27,6 +27,8 @@
               const std::string& metadata_signature,
               const std::string& install_path,
               const std::string& kernel_install_path,
+              const std::string& source_path,
+              const std::string& kernel_source_path,
               const std::string& public_key_rsa);
 
   // Default constructor: Initialize all members which don't have a class
@@ -49,6 +51,8 @@
   std::string metadata_signature;        // signature of the  metadata
   std::string install_path;              // path to install device
   std::string kernel_install_path;       // path to kernel install device
+  std::string source_path;               // path to source device
+  std::string kernel_source_path;        // path to source kernel device
 
   // The fields below are used for kernel and rootfs verification. The flow is:
   //