Support topologySpreadConstraints for Gitaly chart

Kubernetes now has topologySpreadConstraints which can offer more intelligent scheduling of pods than pod anti affinity or affinity scheduling rules. This feature can help achieve more flexibility with constraints.

https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/

example config to be passed

     topologySpreadConstraints:
      - maxSkew: 1
        topologyKey: "topology.kubernetes.io/zone"
        whenUnsatisfiable: ScheduleAnyway
        labelSelector:
          matchLabels:
            app: gitaly
Edited by Emily Chui