public Builder<I, O> withResponseToErrorPolicy(Func2<HttpClientResponse<O>, Integer, Observable<HttpClientResponse<O>>> responseToErrorPolicy) {
            this.responseToErrorPolicy = responseToErrorPolicy;
            return this;
        }
Policy for converting a response to an error if the status code indicates it as such.  This will only
be called for responses with status code 4xx or 5xx

Parameters to the function are
* HttpClientResponse - The actual response
* Integer - Backoff to apply if this is a retryable error.  The backoff amount is in milliseconds
            and is based on the configured BackoffStrategy.  It is the responsibility of this function
            to implement the actual backoff mechanism.  This can be done as Observable.error(e).delay(backoff, TimeUnit.MILLISECONDS)
The return Observable will either contain the HttpClientResponse if is it not an error or an 
Observable.error() with the translated exception.

@param responseToErrorPolicy
ribbon-transport/src/main/java/com/netflix/ribbon/transport/netty/http/LoadBalancingHttpClient.java