Revisit coverage calculation for pipeline with coverage in multiple jobs

Currently, if a pipeline has multiple jobs that output coverage, we calculate the average and use that as the coverage to report for the entire pipeline. This is almost guaranteed to be wrong, sometimes wildly so. If a developer wants more accurate coverage number, they have to jump through a bunch of hoops. I don't know how to solve this generally. Some options:

  1. Leave as-is.
  2. Use only the first (or last) coverage number.
  3. Tell people to manage their own coverage numbers and report a single, overall number.
  4. Document how to report a single, overall number for some set of languages/frameworks.
  5. Create plugins for various coverage reporters that know how to merge separate reports into a final number.
  6. Use coverage from a user-specified job.