Can we rename halfLife to halfLifeInMillis?

Let's make timestamp be called timestampMillis and be a Long. This will reduce the chance of misusing it.

Time in decayed value is only double since we always measure it in units of half-life. Here we are actually using milliseconds to measure.