Extend XML parser to allow optional requiredFlags attribute
for <include /> rules in <full-backup-content> specification

Give an app developer the option to include files based on the
transport flags exposed by the transport. This allows conditionally
including files as long as the transport identifies itself as
for instance encrypted or device-to-device.

Extend the parsing mechanism to read optional requiredFlags
attributes, and extend existing structures to encompass
that data for BackupAgent to retrieve and act on it
based on FullBackupDataOutput#getTransportFlags().

-- Changes in robotests/

The old version of this CL (that already got reverted) broke our Robolectric
suite because it added an inner class to FullBackup and a dependency on it from
BackupAgent. FullBackup wasn't being built from Android tree (instead it was in
a prebuilt Robolectric snapshot jar of the framework) but BackupAgent was,
which resulted in not finding the inner class.

So, also in this CL. Changing our tests to include everything under
platform/base/core/java/android/app/backup from Android tree.
`m -j RunFrameworksServicesRoboTests` is green now

Bug: 72484288
Test: m -j RunFrameworksServicesRoboTests
Test: runtest frameworks-core -c android.app.backup.FullBackupTest
Test: make cts -j40 && cts-tradefed run cts -m CtsBackupHostTestCases -t android.cts.backup.FullbackupRulesHostSideTest
Change-Id: Ideaed59f8337257aa6a882ff0ce80c170b17d55e
5 files changed