update .gitlab-ci.yml to remove broken cruft and add a complete test suite
This removes the old, broken cruft from the GitLab CI setup, and adds a whole range of new jobs. The most valuable is complete Android builds with NDK r17b and r20, then a limited test run in an Android emulator.
Since I was working on ./configure, I added tests across the GNU/Linux distros. The jobs are added in order of value, so the commits on top could easily be omitted as needed.
This currently does not limit when these jobs runs, and it probably should. Most of the jobs are various GNU/Linux distros and releases, which should be the same for most things. For all those tests, I think they should probably be run only on the stable release branches, e.g.:
... .test-template: &test-template only: - /^release-.*$/ script: ...
The code is here: https://github.com/torproject/tor/pull/1448