Fix rate calculation

- Fix the bug: rate reset on every success request
- add some tests to check high level behaviour of circuit_breaker
- make rate information public through public method
This is an extra precotion I added here.
without this, the caller method is responsible off providing the good time.
which is not really the case with the stats method as it is not using time_window.

But we are disabling these stats as soon as notifications are going to wavefront.