make Time interface and the constructor which accepts it public, so that users can plug in time 

The numerus percentile class produces 0 until the first bucket time has elapsed.   This can make writing unit tests tricky.   Most unit testable libraries will have a TestClock that is used for getting the time, that can be updated for the unit test.   

Making the Time interface public and the corresponding constructor will allow NumerusRollingPercentile to participate in unit tests without waiting for the bucket to elapse, provided someone has given a pluggable time implementation to the constructor.