Add healthcheck endpoint for runner

Description

When running GitLab Runner inside of a docker container or inside of kubernetes, users/administrators can't know if the runner process has started and is ready to accept builds. Introducing a health check would allow us to use HEALTHCHECKS, liveness & readiness probes respectively.

For out helm charts, we are currently checking if the process is running, which is not ideal because if the runner process stops the container will exit.

Proposal

  1. Create a new endpoint /health which will return a 200 OK depending if the runner is in a healthy state
  2. Have a toggle to turn it on and off

Questions

  1. Should we use the listen_address?
  2. What criteria should we check to consider the runner healthy?

Links to related issues and merge requests / references

This came off as a discussion from !1103 (comment 134103215)

/cc @brendan @ayufan