Add Consul support

Adding Consul to the mix. etcd is still there and still what we're using, but having consul installed already lets us more easily make the transition over time.
public_address is so not the same thing. Public address, at least judging by how it's used, is supposed to be an externally resolvable hostname.