cmd/gitmirror: start of splitting off the git mirror code into separate service

Currently the Gerrit polling & git mirroring & serving & syncing
functionality is in the "watcher" process, which is in the same binary
as the cmd/coordinator (farmer.golang.org), but runs as a separate
process on that machine, and actually run in a separate Docker
container so it has a cache volume and the /usr/bin/git binary, etc. A
flag determines where func main delegates to: the build coordinator,
or the git mirror.

Start cleaning this up, in prep to run on Kubernetes as a separate service.

This copies the env/watcher-world/Dockerfile into a new gitmirror
Dockerfile, and copies the existing cmd/coordinator/watcher_process.go
into a new cmd/gitmirror/gitmirror.go process.

None of this is deployed or working yet. Once it's running and happy,
I'll then switch the coordinator to find & use it on GKE, and then
delete the old code.

Updates golang/go#18817

Change-Id: Ibaa87f244f08ce61662e689b815740c72c997536
Reviewed-on: https://go-review.googlesource.com/35911
Reviewed-by: Jaana Burcu Dogan <jbd@google.com>
7 files changed