add consul support as a disovery backend

I'm not sure it make sense to do a `create` here. For example in `etcd` we don't do create. As it's your own consul, you have to generate the path yourself.