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/Android.bp b/Android.bp
index afa0337..10f6c79 100644
--- a/Android.bp
+++ b/Android.bp
@@ -175,6 +175,7 @@
         "fsck_unshare_blocks.cpp",
         "fuse_sdcard_provider.cpp",
         "install.cpp",
+        "package.cpp",
         "recovery.cpp",
         "roots.cpp",
     ],