Scripts used for the CI handling and coverity uploads

coverity: scripts used to submit the osmocom sources for coverity scan.
This depends on these, which are not included in osmo-ci:
- a tokens.txt file in coverity/ -- see coverity/get_token.sh
- a cov-analysis-linux64-8.5.0 in coverity/
  (or the like, may need to adjust some scripts to match)

jobs: Jenkins Job Builder YAML files defining jenkins jobs. Read jobs/README.adoc
for more information about deployment.

scripts: used by jenkins jobs. Various osmo*/contrib/jenkins.sh scripts assume
osmo-ci to be checked out in the build slave user's home, i.e. using a PATH of
$HOME/osmo-ci/scripts.

obs-patches: patches to build projects for various debian distributions, e.g.
a patch for limesuite that fixes the libwxgtk3.0-dev => libwxgtk3.0-gtk3-dev
rename in control/debian for debian10. Used by osmo_obs_distro_specific_patch()
in scripts/common-obs.sh.

_docker_playground: Clone of docker-playground.git, so the scripts can build
required docker images. This dir gets created on demand by scripts/common.sh,
and automatically fetched and reset to "origin/master" (override with
$OSMO_BRANCH_DOCKER_PLAYGROUND). The fetch and reset gets skipped if
_docker_playground is a symlink. For development, set it up as follows:

 $ git clone https://git.osmocom.org/docker-playground
 $ git clone https://git.osmocom.org/osmo-ci
 $ cd osmo-ci
 $ ln -s ../docker-playground _docker_playground
