RateLimiterRedis consumes points even on error
When trying to consume more points than currently available with a single consume() call, the "res.remaining" turns to 0 although an error is thrown (as expected).  

The issue is that the number of points I consume with a single call can vary a lot, and currently a "very greedy call" can empty my entire projet bucket although the greedy request wasn't even processed since it exceeded available points, thus impacting potential other users   

When consume() throws, I would expect no point is consumed. If for some reason this the desired behaviour, I'd greatly appreciate an option to disable this.  

Thanks !  