Made PoolDBOutputService compatible with threaded framework

Initial attempt at making PoolDBOutputService work with the threaded
framework. The code now uses the new ActivityRegistry signals and
has a recursive mutex around the function which change internal state.
Several assumptions have been made
1) only one Run and Lumi are being processed in the job. This will be
true for CMSSW_7_1_X but not in the future;
2) the calls to the DB are thread safe;
3) time based IOVs are only set during Event processing

In addition, the session() method was not removed however I am
fairly certain a caller could not use the return value in a thread
safe manner.
Merge pull request #3371 from Dr15Jones/makePoolDBOutputServiceCompatibleWithThreadedFramework

Multithreading -- Made PoolDBOutputService compatible with threaded framework