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?
Noticed I read the sort wrong, so the list would be:
[50, 100, 200, 500]. Which is worse cause than any choice over 50 would result in the first being chosen.