Create reader and writer of the cross-platform manifest file

The cross-platform manifest serves a similar purpose as the full backup
manifest (see the AppMetadataBackupWriter class). It will store some
additional metadata in the full backup TAR file that is meant to be used
for validation. On export, the target platform validates that the
specified bundle id and target id matches an installed app. On import,
we will validate that the data received matches the installed app and
its signature.

Since the metadata stored in the manifest is different than the existing
manifest we will store it in a separate file that's only present when
the transport indicates a cross-platform transfer is taking place. The
code writing the cross-platform manifest on backup and validating its
contents on restore will be added in the follow-up changes.

Bug: 432673356
Test: atest CrossPlatformManifestTest.java
Test: atest CrossPlatformManifestParserTest.java
Flag: com.android.server.backup.enable_cross_platform_transfer
Change-Id: I02019edcbebf49814f810e051211fe98fd47abb6
5 files changed