Track total live bytes for each peer
Track total live bytes for each peer

"live bytes" means those bytes which have been delivered to a handler
which is currently running. This supports a conservative assumption that
a handler uses memory proportional to the amount of bytes given to its
input channel.

The dispatcher thread is of course responsible for reporting the
increments, but 'spawnHandler' does most of the work. Other programs can
inspect the node statistics, held in a 'SharedAtomic'. The idea is that
a 'QDisc' or perhaps the dispatcher thread itself will use this
information to induce an artifical delay on one or all peers in case of
heavy load (lots of live bytes).

input-output-hk/cardano-sl,input-output-hk/cardano-sl,input-output-hk/cardano-sl,serokell/tw-rework-sketch,input-output-hk/pos-haskell-prototype,input-output-hk/cardano-sl,input-output-hk/pos-haskell-prototype,input-output-hk/pos-haskell-prototype