extract serf into separate job and colocate

This allows the nodes joining the cluster to not have static IPs. Instead,
a separate job (with arbitrary instance count) is deployed, whose only job is
to run the serf agent and act as a gateway so other nodes can discover each
other.

Also bumped garden, which adds experimental clustering support; the Garden
server will join the cluster on startup.