Regres: Generate coverage data on nightly runs

Push this to https://github.com/swiftshader-regres/swiftshader-coverage so that it can be viewed at:
https://swiftshader-regres.github.io/swiftshader-coverage/

There's quite a lot of new code and fixes in this change. The most notable:
* The regres daily run for the subzero backend now produces combined coverage information for all the test runs. The LLVM backend does not produce coverage information.
* Regres now takes two additional command line arguments: `gh-user` and `gh-pass` for the swiftshader-regres account. If you omit these, then coverage will not be produced.
* test.srcDir has been renamed to checkoutDir, as this was confusing with the `src` directory in the repo.
* The coverage JSON now contains a root field to describe the git revision to which it relates. This prevents the coverage going out of sync with the source.
* `git.CheckoutRemoteBranch()` drops back to a depth of 1 again. This was only increased to 99 to deal with issues checking out from gitlab, which we don't do any more.
* Regres  now builds using `third_party/llvm-10.0`
* Fixed the `--limit` regres command line flag which wasn't actually limiting, as it was using the len() on the number of groups, not the number of tests.

Bug: b/152192800
Bug: b/152339534
Change-Id: I2d25735f485097d4efb080546d989056a3a8aab3
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43168
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/tests/regres/run.sh b/tests/regres/run.sh
index 7dd18f4..51bb6f3 100755
--- a/tests/regres/run.sh
+++ b/tests/regres/run.sh
@@ -2,4 +2,4 @@
 
 ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
 
-go run $ROOT_DIR/cmd/regres/main.go $@
+go run $ROOT_DIR/cmd/regres/main.go $@ 2>&1 | tee regres-log.txt