Adds a general mechanism for pruning selected sdk member properties
(i.e. setting their fields to their zero value) and uses that to prune
any properties that do not support a specified target build release.
Follow up changes will use that to allow building an sdk snapshot that
is compatible with previous release S.
Bug: 197842263
Test: m nothing
Merged-In: Ib949a9cfe85fff30f86228eeb15d3a45c073b037
Change-Id: Ib949a9cfe85fff30f86228eeb15d3a45c073b037
(cherry picked from commit 0c3acbfd72)
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 1812294f32)