Allow etcd config file to be passed to apiserver, kubelet, and proxy

This is meant to fix #1338 .

I'm a relative golang newbie, so let me know where I'm going wrong here.
idomatically I think you can get away without naming the returns and saying:

    if etcdConfigFile = "" {
        return master.NewEtcdHelper(etcdServerList, *storageVersion)
    }
    return master.NewConfiguredEtcdHelper(etcdConfigFile, *storageVersion)

Though I would probably flip it to check for != ""