Use FileDescriptorPtr to implement async reads in verify stage

During FileSystemVerify stage, update_engine needs to read from source
or target partition to verify hashes && write verity. Previously we use
brillow's file stream to implement async reads. WIth Virtual AB
Compression, reading from target partition must go through libsnapshot's
interface(FileDescriptorPtr). So we replace brillo::FileStream with
FileDescriptorPtr for ease of integrating with VABC.

Test: serve an OTA update, verify: slot switch resume, regular resume

Change-Id: Id8531757468f60e3e21667b7761b83f7c2af2dbf
diff --git a/aosp/dynamic_partition_control_android.cc b/aosp/dynamic_partition_control_android.cc
index ca12b3d..3ced3e0 100644
--- a/aosp/dynamic_partition_control_android.cc
+++ b/aosp/dynamic_partition_control_android.cc
@@ -1265,6 +1265,7 @@
   if (cow_writer == nullptr) {
     return nullptr;
   }
+  cow_writer->InitializeAppend(kEndOfInstallLabel);
   return cow_writer->OpenReader();
 }