Add `ConnectionMonitor` stage

A `ConnectionMonitor` is a simple stage that can be inserted between two ByteBuffer stages and will count the bytes that pass between them and monitor the pipeline lifetime.
Two basic concrete types are offered:
* A basic monitor that just counts the totals
* An interval averaging monitor that will compute the sliding average with a designated time constant

-- The types may change in the future. As of current they are __very__ OO style, and I'd like to try and widdle that down while maintaining performance.