Set service entrypoint and command through config
## Problem
Inside of the [`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) we allow the user to define `services` for the [Docker executor](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdockerservices-section) and [Kubernets executor](https://docs.gitlab.com/runner/executors/kubernetes.html#using-services). If we look at all the [allowed configuration for the `services` inside of the `.gitlab-ci.yml`](https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#available-settings-for-services) we are missing the `entrypoint` and `command` fields.
## Proposal
- Extend the [service](https://gitlab.com/gitlab-org/gitlab-runner/-/blob/ebcdf469ec52d4b3d1c75928fca99f88f9a6642d/common/config.go#L356-359) configuration to allow to set `entrypoint` and `command` for both the Docker and Kubernetes executor.
- Update documentation to reflect these changes.
## Use cases
### Be able to set the DockerHub mirror for the `dind` service
```yaml
[[runners]]
[runners.docker]
[[runners.docker.services]]
name = "docker:19.03.13-dind"
entrypoint = ["dockerd-entrypoint.sh"]
command = ["--registry-mirror=https://docker-mirror.mycompany.com:5000"]
```
issue