testplan: Allow multiple board values in CTPv1 compatibility mode.

- The current test plans allow for rules that specify a list of
boards to choose one of, e.g. `only_keep_one_suite_from_each_group`
(https://source.chromium.org/chromium/chromiumos/infra/proto/+/HEAD:src/testplans/source_tree_test_config.proto;l=33;drc=212ee2d69622a9e9026548f7d789ee4e108c4893).
The choice is based off which boards produced a critical build
(i.e. choose a board that had a successful build, using criticality
to break ties). If there are multiple choices which produced a
critical build, choose randomly with probability proportional to
the priorties configured in a static priority list
(http://cs/chromeos_internal/infra/config/testingconfig/generated/board_priority.cfg).

- This is needed in the chromite example, see
  http://cs/chromeos_internal/infra/config/testingconfig/source_tree_test_config_main.star;l=507;rcl=0c479a9332f94eac32c76dd16aeb924fbcac571e.

BUG=b:218319842
TEST=CQ

Change-Id: Ia83516ddeaa3961110f2078e448f20a2fd8a17d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/3511380
Reviewed-by: Tim Bain <[email protected]>
Commit-Queue: Andrew Lamb <[email protected]>
Tested-by: Andrew Lamb <[email protected]>
5 files changed