(rate) emits events constantly.

Rate used to emit events only when it received events. I've rewritten
rate to emit events with zero metrics when no events arrive in a given
time frame. In addition, event TTLs decay correctly when no events
arrive, so rates will continue operating while the ttl is valid, then
shut down correctly when the index expires their output events.

I need to rewrite some other real-time streams (e.g. percentiles,
fill-in) to have similar behavior.