Create a wrapper class for update package

Creates a new class handle the package in memory and package read from fd.
Define the new interface functions, and make approximate changes to the
verify and install functions.

Bug: 127071893
Test: unit tests pass, sideload a package
Change-Id: I66ab00654df92471184536fd147b237a86e9c5b5
diff --git a/install.h b/install.h
index 20a2b23..7b6267b 100644
--- a/install.h
+++ b/install.h
@@ -25,6 +25,8 @@
 
 #include <ziparchive/zip_archive.h>
 
+#include "package.h"
+
 enum InstallResult {
   INSTALL_SUCCESS,
   INSTALL_ERROR,
@@ -46,9 +48,9 @@
 int install_package(const std::string& package, bool* wipe_cache, bool needs_mount,
                     int retry_count);
 
-// Verify the package by ota keys. Return true if the package is verified successfully,
-// otherwise return false.
-bool verify_package(const unsigned char* package_data, size_t package_size);
+// Verifies the package by ota keys. Returns true if the package is verified successfully,
+// otherwise returns false.
+bool verify_package(Package* package);
 
 // Reads meta data file of the package; parses each line in the format "key=value"; and writes the
 // result to |metadata|. Return true if succeed, otherwise return false.