Add etcd cloud provider

Minions can be discovered via etcd. The etcd cloud provider searches for
minions under the "/minions" etcd directory. Each minion must have a key
"/minions/<host>" with the minion's IP address as the value.

Minions must be added to etcd through a separate process. For example
using the etcdctl command:

    etcdctl set /minions/minion0.example.com 203.0.113.100

The etcd cloud provider can be activated using the following flags:

    apiserver --cloud_provider=etcd --minion_regexp=".*"

Minions are filtered using the regular expression specified by the
--minion_regexp flag. To match all minions found under the "/minions"
etcd directory use a wild card pattern such as ".*".

If the --minion_regexp is ommited or set to an empty string, the etcd
cloud provider will not return any minions.

The etcd cloud provider does not implement the Zones or TCPLoadBalancer
interfaces.
I like the idea of etcd as a provider.  What I think needs to be settled is whether we assume there is a single etcd cluster within a k8s cluster with (eventually) ACLs for control, or whether there might be distinct etcd clusters (in which case there needs to be a way to specify which etcd cluster to the etcd provider module).