Multithreaded Framework Service Callbacks

Adds new interface for Service callback functions to
support the multithreaded Framework. This interface
passes around a new set of classes which hold the
context at all the important transitions that occur
in the Framework. The new interface supports all the
new transitions which will occur in the multithreaded
Framework, for example global begin run and stream begin
run transitions will replace the old begin run transition.
The Tracer service is modified to use all the new signals
and it is also used in unit tests to test them.