Introduce RateCounter abstract class; make DecayCounter extend it

And replace DecayCounterSnapshot with new RateCounterSnapshot
Keep snapshot() from making multiple calls to getTickInSeconds

In general, each public method should do nowInSeconds = getTickInSeconds()
once, and pass that value all around, to avoid having different notions of
"now" confusing things.
Merge branch 'hth' of https://github.com/drfuchs/platform into hth

Conflicts:
	stats/src/main/java/com/proofpoint/stats/RateCounter.java