Support docker runners
What does this Merge Request do and why?
This MR allows GDK to manage a containerized Gitlab Runner. Currently, the Docker configuration described in doc/howto/runner.md requires that the user manually control the runner with docker run, docker stop, docker restart, docker logs, etc. With this change, we can have the runner container be managed alongside other GDK services with gdk start and so on.
Merge Request checklist
- 
This change is backward compatible. If not, please include steps to communicate to our users. 
- 
Tests added for new functionality. If not, please raise Issue to follow-up. 
- 
Documentation added/updated, if needed. 
- 
gdk doctortest added, if needed.
- 
Add the ~highlightlabel if this MR should be included in theCHANGELOG.md.
Edited  by Brian Williams