Collect CI metrics and push to BigQuery (#2509)

- Add hooks to capture boot time in every agent (Linux and Windows)
- Collect CI metrics from BEP file and BuildKite
- The collection and push to bigquery logic is called after the test
logic is done.

The code here had been running in the testing branch for a few days in
[bazel pipeline in the testing org
](https://buildkite.com/bazel-testing/bazel-bazel)
And the collected metrics can be found in
`bazel-public.bazel_ci_metrics.ci_builds`
3 files changed