Add some retry to the service proxy.

If we're going to retry, we should crank down the dial timeout, no?  or maybe start it small and grow it on each failed backend (1sec on first backend, 2 on 2nd, 4 on 3rd)?