bundler: use weighted semaphore to enforced byte limit
bundler: use weighted semaphore to enforced byte limit

The weighted semaphore class, since it's context-aware, can replace
the previous complex mechanism involving channels.

It is FIFO, so it also solves the starvation problem.

Change-Id: If758576c6284abd8c9638db10600d9a9e6699c07
Reviewed-on: https://code-review.googlesource.com/11520
Reviewed-by: Jonathan Amsterdam <e3d3698b2ccd5955e4adf250d0785062d0f9018b@google.com>

google/google-api-go-client,googleapis/google-api-go-client,googleapis/google-api-go-client,google/google-api-go-client