Implements a basic token bucket based rate limiter. Users of the throttle must successfully call try_take before doing work.
try_take