Distribute registry as an asset

The registry is checked in as both a text proto and a binary proto,
however the binary proto is the only file shipped in the APK. The text
proto is used to validate the binary proto registry contents and build
time, i.e. the build will fail if they're out of sync with a message
about how to regenerate the binary proto.

*** Mean showmap private dirty bytes ***
* Control (no Cobalt): 11,735,204
* Registry asset     : 12,054,200
* Registry resource  : 14,473,298

* Collected with

```
adb shell am instrument -w -e class \
  android.platform.test.scenario.adservices.GetTopicsApiCallMicrobenchmark \
  -e process-names com.google.android.adservices.api \
  -e listener android.device.collectors.ShowmapSnapshotListener \
  -e iterations 25 \
  android.platform.test.scenario/androidx.test.runner.AndroidJUnitRunner
```

*** Mean topics API cold start latency ***
* Control (no Cobalt): 524
* Registry asset     : 543
* Registry resource  : 589

* Collected with

```
adb shell am instrument -w -e class \
  android.platform.test.scenario.adservices.GetTopicsApiCallMicrobenchmark \
  -e process-names com.google.android.adservices.api \
  -e listener android.device.collectors.TopicsLatencyCollector \
  -e iterations 25 \
  android.platform.test.scenario/androidx.test.runner.AndroidJUnitRunner
```

Bug: 298651580

Test: atest CobaltRegistryLoaderTest
Test: Deleted bytes from binary proto asset, build failed and saw
      message with instructions to update

Change-Id: Ic1c67f53908455c1014afb427cdca5f2277ede62
8 files changed