Restructure CI pipeline implementation and start using the new singularity runners
Implement the different build/test jobs as job matrix. This reduces the amount of duplicated code and allows to add new jobs in a faster and cleaner way.
Add also new build/tests jobs which are executed on singularity runners. On the new machines we run the tests in exactly the same containers which are also executed on Virgo. To move to this containerized infrastructure will allow us in future to test the merge requests on several different combinations of the operating system, FairSoft and FairRoot version without much additional work.