Backup & restore communal state

This change introduces a backup helper responsible for backing up and
restoring the communal database. At backup, the helper requests a
snapshot of the database in the form of a proto buffer, and writes it to
the backup output stream. And at restore, the helper reads data from the
input stream and writes it to a file for later use.

Test: atest CommunalBackupHelperTest
Test: atest CommunalBackupUtilsTest
Test: manually; see instructions at go/glanceable-hub-br
Bug: 309809222
Flag: ACONFIG com.android.systemui.communal_hub TEAMFOOD
Change-Id: Ieb59f6018708213b70d8e12de12741927783b4cb
6 files changed