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.
To make it an integer. Puppet treats it as strings until it's explicitly used as a number and these hashes get passed directly to JSON.pretty_generate and consul gets upset if it gets a string where it expects an integer.