Move CI pipeline to parallel matrix builds and child pipelines
By using parallel matrix builds we can simplify our pipeline setup quite a bit. To maintain the ability to proceed through stages independently for each board/input system combination we're now using child pipelines.
I've also introduced a workaround for the longstanding problem where builds with recent versions of the gitlab-runner failed.