Add service callback with path and consumes info

Add new callback that services can register for
that will deliver information about the paths,
end paths, and modules on them. It will also deliver
information about the dependencies between modules
in the current process based on the consumes information.
It also makes available the information in the
consumes declarations. Also includes a new configuration
option to the Tracer that will dump this information
and the Tracer code is an example of how a service
accesses this information. New and expanded unit
tests included.
Merge pull request #6845 from wddgit/preBeginJobCallback

Add service callback with path and consumes info
Merge remote branch 'origin/CMSSW_7_4_X' into CMSSW_7_0_X