flexible aliasing of CI containers

Description

Aliasing of CI containers is currently very limited:

  1. Service containers allow only a single alias.
  2. The main job container has a single static alias build.

Proposal

Make CI container aliases as flexible as in docker-compose: every container may have multiple aliases defined as an array in .gitlab-ci.yml, e.g.:

services:
  - name: s1
    aliases:
      - s1_a1
      - s1_a2
...
image: myimage
aliases:
  - build_a1
  - build_a2
...

Links to related issues and merge requests / references

#4024 (closed)