fixes issue #53
make RateTracker an interface
move implementation to BasicRateTracker
allow ClientBuilder to specify RateTracker