New setting to mark postinstall as optional.

This setting allows to mark a postinstall script as optional. This
allows the postinstall program to fail when it is not strictly required
to run for the update to succeed.

Bug: 27178350
TEST=Added unittest. Sideloaded an update with an optional postinstall.

(cherry picked from commit 5b91c6b141970c2b0095775a61e3f941417aa1ff)

Change-Id: I7bc36e2bf6e8363577adfc787d0fb6ddeeef8583
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index e4ba78b..ae59034 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -837,6 +837,7 @@
           (partition.has_postinstall_path() ? partition.postinstall_path()
                                             : kPostinstallDefaultScript);
       install_part.filesystem_type = partition.filesystem_type();
+      install_part.postinstall_optional = partition.postinstall_optional();
     }
 
     if (partition.has_old_partition_info()) {