Update the sample config.
Revert `CanonicalHostPort` addition.
`EtcdLocator`: Store the routing URL scheme.

`Locator.Contacts()` must now return a slice of absolute URLs
containing the scheme, hostname, and port of each candidate peer.
This change is for consistency with `EtcdBalancer`, and no longer
requires peers to use the same routing scheme.

* Remove `RouterConfig.Scheme` and `Router.Host()`.
* Simplify `RouterConfig.UrlTemplate`.
Ensure balancers return the full redirect URI.

* `EtcdBalancer` now stores the server scheme in etcd. This is required
  to construct the redirect URI.
* `Balancer.NextHost()` => `RedirectURL()`.
* `Worker.Hello()` now returns a 429 if the cluster is full or the
  balancer failed to return a redirect URL.
* `Worker.Hello()` now avoids querying the balancer for duplicate
  handshakes.