Fix issue that can result in concurrent invocation of exit callback
from work queue by calling the exit callback with the work queue
mutex held. Added corresponding unit test.
Call ExitCallback before setting running_ in RunnerDone WorkQueue.
Simplify RunnerDone in WorkQueue by returning from one place
Merge pull request #507 from Juniper/meghb_wq

Fix issue that can result in concurrent invocation of exit callback