ThreadPoolSvc: Bugfix/barrier fix
(from Steve Farrell) see atlas/Gaudi!17 (merged)
This merge fixes a serious undefined behavior condition in ThreadPoolSvc introduced in the thread-tool-terminate merge. The boost::barrier was moved to a function local which could drop out of scope before workers returned from waiting. Now, the barrier is again a class member of the ThreadPoolSvc. Tests are successful. Additionally, I added a safety check in ThreadPoolSvc::terminateTool that returns FAILURE if the pool wasn't actually initialized.
Finally, I put the ThreadPoolSvc's raw pointer class members into unique_ptrs for automatic deletion.