Improve CI tests
This is first iteration to simplify and speed up GitLab Runner testing, by trying to split all operations into separate stages.
This will also enable us to use a Shared Runners for normal testing, building and use a special deploy runner to do S3 and PackageCloud deployment.