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.
IMO no etcd access outside of apiserver is the rule. (kubelet is the only exception.) Cloud provider should not be talking with etcd directly.