proxy: set transport timeouts
proxy: utilize all endpoints, tracking failures

The reverseProxy now attempts all "available" endpoints as provided
by the director. If a request to an endpoint fails (ignoring valid
etcd errors), an endpoint will be considered "unavailable" for 5s.
Once an endpoint is unavailable, the director will no longer provide
it to the reverseProxy as a potential candidate. After the 5s is up,
the director will consider it available and serve it back to the
reverseProxy to use in subsequent requests.