Second minor release for P4Runtime v1.
Changelog:
* API
* Add new `OPTIONAL` match kind. At the moment, `OPTIONAL` is only supported by the v1model architecture, and not by PSA. It will eventually be included in the core P4 language.
* Add support in P4Info for structured annotations, which are used to annotate objects with key-value lists or expression lists.
* Add a new `metadata` field of type `bytes` to `TableEntry`. This is more flexible than the now deprecated `controller_metadata` field.
* Add the ability to change the ID of table match fields, action parameters, Packet IO metadata fields, and Value Set match fields in P4Info by using the `id` annotation.
* Support using `string` as the controller type in the `p4runtime_translation` annotation. Update syntax when using a fixed-width unsigned bitstring as the controller type.
* Add optional P4 source locations to both structured and unstructured annotations.
* specification
* Clarify the behavior of some corner cases involving action profiles and selectors, including the watch port feature.
* build
* Overhaul of the Bazel build system
* Fix rules: remove dependency on `stackb/rules_proto`, use `bazelbuild/rules_proto` instead,
* Improve documentation.
* Add an example Bazel project depending on the P4Runtime rules.