[code coverage] Only instrument Java class files related to affected source files for per-CL

Right now Java per-CL coverage instrument everything as full code base coverage.
To only instrument class files related to affected files in a CL, we can:
1. Extract class files only related to affected source files in a jar.
2. Instrument these extracted class files.
3. Extract unaffected members from original jar.
4. Zip everything out to output path.

Bug: 1001387
Change-Id: Iaf6a75c7f8005b5d64eee22bc604f25d0c2fcd8c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1797109
Reviewed-by: Dirk Pranke <[email protected]>
Reviewed-by: Yuke Liao <[email protected]>
Reviewed-by: Andrew Grieve <[email protected]>
Commit-Queue: Yun Liu <[email protected]>
Cr-Commit-Position: refs/heads/master@{#697661}
7 files changed