Support handling build releases in sdk snapshot

Adds the following:
1. A buildRelease type to represent a single build release.
2. A buildReleaseSet type to represent a set of build releases.
3. Methods to create parse and use the previous new types.
4. Tests for the above.

Bug: 197842263
Test: m nothing
Merged-In: Ib0dd4fc32851a4fffde3fa02ea22c8369f8c2995
Change-Id: Ib0dd4fc32851a4fffde3fa02ea22c8369f8c2995
(cherry picked from commit 1812294f32c35ba9a970966af9790d54e19e6f60)
diff --git a/sdk/Android.bp b/sdk/Android.bp
index 368c03a..5ba2d9d 100644
--- a/sdk/Android.bp
+++ b/sdk/Android.bp
@@ -15,6 +15,7 @@
     ],
     srcs: [
         "bp.go",
+        "build_release.go",
         "exports.go",
         "sdk.go",
         "update.go",
@@ -22,6 +23,7 @@
     testSrcs: [
         "bootclasspath_fragment_sdk_test.go",
         "bp_test.go",
+        "build_release_test.go",
         "cc_sdk_test.go",
         "compat_config_sdk_test.go",
         "exports_test.go",