Add support for services configuration in .gitlab-ci.yml

Merged Tomasz Maczukin requested to merge feature/add-support-for-services-configuration into master

What does this MR do?

Adds support for more detailed configuration of services in .gitlab-ci.yml file (for example - to have a possibility to use two services from the same image but with a different alias). This is one of two parts to make gitlab-org/gitlab-ci-multi-runner#1466 done - the second part will be to add support for changed API in the Runner.

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Edited by Grzegorz Bizon