Push QA images to registry
This should address gitlab-qa#81 (comment 44232938). Also part of https://gitlab.com/gitlab-org/gitlab-ce/issues/39637.
- Add Build::QAto handle QA-specific logic
- Add a new Build::Imagemodule that is extended inBuild::GitlabImageandBuild::QAImage.
- 
Build::GitlabImageandBuild::QAImageonly definedockerhub_image_nameandgitlab_registry_image_nameso that all theget,tag,pushlogic is centralized inBuild::Image
- Renamed the GitLab QA images to gitlab-{ce,ee}-qaand removed the edition from the tag since it would be redundant.
- Push the QA images after building it so that gitlab-qa(the gem) will use this image when runningComponent::Specs#performin theqa:testtask.
- Improved the tests and coverage of all the classes under lib/build
- Improved the tests and coverage of lib/docker_operations.rb
- Improved the tests and coverage of lib/tasks/docker_tasks.rakeandlib/tasks/qa.rake
Closes gitlab-qa#81 (closed) and gitlab-qa#106 (closed).
/cc @grzesiek
Edited  by GitLab Release Tools Bot