Add new GitLab CI configuration facade class
What does this MR do?
This MR is a first iteration of major CI configuration refactoring. See #17139 (closed) and #15060 (closed) for more details.
What are the relevant issue numbers?
Closes #17139 (closed)