Use etcd 0.3.0 and Discovery protocol

etcd 0.3.0 has been released today, it includes a discovery API which can be use to construct the cluster ( https://coreos.com/docs/cluster-management/setup/etcd-cluster-discovery/ )

I built my modification like that:

If the `node[:etc][:discovery]` is defined we don't need a seed anymore, neither the slave_state parameter. Finally it easier to deploy a cluster with chef-solo because the nodes don't need to be known.

I factorized some code to avoid repetition and clean some long lines. Is it ok for you ?