Refactor .gitlab-ci.yml
Create common .linux-image and .windows-image job definitions, and extend them for each image we build. This makes the configuration shorter and makes it easier to add new images, or change the job configuration for all images at once.