fixes issue #53

make RateTracker an interface
move implementation to BasicRateTracker
allow ClientBuilder to specify RateTracker