WIP: Use docker networks for connecting to services

What does this MR do?

This MR is build on the previous work on !451 by @dooferlad, to use Docker networks instead of links for inter-container communication.

I added a function connectToBuildNetwork to connect the created containers to a special build network, that is removed after the job finishes.

Question: do we want to support both legacy links and network based on the API version of Docker? See here for the conditional switch between the two.

I saw this commit 226ecfe0, so if it is merged we can safely deprecate links, given that with that minimum API of Docker we assume to have networking available.

Why was this MR needed?

Container links are deprecated and discouraged by Docker

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

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

#1042 #2511