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 was under the impression that cloud providers where more of a generic plugin mechanism, and I was treating this as a external way to auto discover nodes. Ideally this would work even if k8s did not use etcd.