Add a rate limiter, use it to rate limit docker pulls.

I guess the question is whether there's ever a situation where you'd rather fail than respect the rate limit?  I have a hard time imagining such a mode, except in a very extreme situation where you might be better off getting rescheduled   on a different host...