delta counters

This creates another type of counter which can give delta updates, in a thread-safe way.  The main changes are:

1) the counters are AtomicLongs, to enable a safe getAndReset()
2) Listeners for the delta updates cannot be scheduled independently -- they all have to be scheduled together, so that you can give updates to all of the listeners.

(this only adds additional functionality, it doesn't change the existing behavior at all.)