This commit adds the necessary files to run the CI using Gitlab-CI. For
now, it checks that Weboob builds, then runs the linting script
(checking that every module as an icon and some tests + PyFlakes) and
the unittests. Most of modules unittests cannot run because there is no
backend configured.
Some changes were needed in the pre-existing scripts:
* Edit `weboob_lint` to exit with non-zero code if it finds modules
without icons or tests, so that the build could fail in such a case.
* Edit `run_tests.sh` to set correct exit code on failure and rework
generation of XUNIT output. Also added some doc about useful environment
variables. Added a way to generate an xunit output file when running modules
unittests, passing a `XUNIT_OUT` env variable to `run_tests.sh` script.
* Modification of `setup.cfg` and `run_tests` scripts to handle code
coverage generation. The matching regex in Gitlab for the total code
coverage is `TOTAL: (\d+\%\s*)$)`.
I also added a script to generate a JSON module status matrix from
modules unittests, ready to be sent to a
[Weboob-CI](https://github.com/Phyks/weboob-ci) instance.
NOTE: Required Python modules are taken from the `setup.py` script.
`.ci/requirements.txt` contains the requirements to run the unittests
and the CI, whereas `.ci/requirements_modules.txt` contains the specific
Python modules required at runtime by Weboob modules. The latter could
eventually be replaced by a proper call to `debpydep` script.