Add Timer and TimingManager which provide convenient way to meause the
execution time of code snippets. The output looks like,
-- Average Operation Time -- -- Name (# of Calls) -- 1747.2(ns) popBatch (59) 92.3(ns) popBatchImpl (73) 101.6(ns) EmptyBatchProcess (5) 2587.0(ns) pushBlocksImpl (13)
Note that EmptyBatchProcess is nested under the timer popBatchImpl.
Consider accessing the TimingManager from the parent timer.