WIP: Refactors CI build to run on docker
.gitlab-ci.yml to use Docker containers. It will build a temporary image for every branch, store it in the GitLab registry, and use it on all test jobs.
There is no mechanism to automatically remove images from the registry. We'll need to do it manually.
This will greatly reduce the build time.
It also includes some small refactor to the production Dockerfile, to make it easier to cache the