Currently when multiple throttler components are specified, all of them are
tried until one fails. This in theory works, but it becomes a problem if you
for example throttle by number of requests first, and then by domain, and you
reach the max number of amounts you throttle by domain before number of requests.
For example, suppose you have plenty of room for the first throttler.
Gungho will first invoke try_push() on the first throttler, which increments
the number of requests that have been processed.
After this, the second throttler invokes its try_push() which fails. At this
point the request gets throttled, but theres no way to undo the try_push()
for the first throttler.
This means that the overall capacity may be well within your throttling limits,
but Gungho may not actually go fetch your requests.
At this point I have no particularly elegant solution to this