test: Add initial go/cros-f20 API definition

This is an iteration on the F20 API based on feedback in Q4'19.

Major changes:
- Use of Common Expression Language for most filtering requirements:
  this allows us to gradually add feature support for the power of
  filtering in various places and keeps the API simple and in-line
  with industry practices.
- Introduction of progress reporting service, inspired by the
  ResultSink protocol for ResultDB - This ensures that we allow
  streaming of results and logs from a batched invocation of tests.

Notes:
- There is no support in this API iteration for "groups of tests with
  common setup & teardown". The requirements for that feature will be
  made more concrete and the API will be expanded through alpha support.
- The protobuf messages do not yet have all API annotations required by
  http://aip.dev but is somewhat api-linter clean otherwise.

BUG=chrmoium:1029380
TEST=./generate.sh

Change-Id: I7f7608d1c95fbb2fb55fd3bdc5603598a2fcbf15
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/2046055
Reviewed-by: Alex Zamorzaev <zamorzaev@chromium.org>
Reviewed-by: Katherine Threlkeld <kathrelkeld@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
14 files changed