Balancers, take two

* Use a weighted choice algorithm for `EtcdBalancer`.
* Enable client redirects. `Worker.Hello()` returns a 302 if a peer is available, or a 429 if the cluster is full. We'll want to change this to a 503 in the future; for now, I used 429 to distinguish "cluster full" from "storage unavailable" or "invalid input."
* Bump envconf to pick up a fix for `TestConfigFile`.

@bbangert r?
I don't think so...we can publish the connection count when it starts up, but, since it's a fresh instance, there won't be any connected peers. We could have it fetch peer connection counts to make sure we're not overwhelmed with clients before the initial fetch, but I suspect that's a rare case—it'll currently return a 429. What do you think?