Ensure manager started/shutdown/joined and reset

Ensure that when the task executor is started that we
correctly create a new multiprocessing manager (if needed)
and that on stop we correctly shut that manager down and
join it.

Also does a tiny adjustment to the joinable work item to
move the finish logic into its own method and ensures that
we have no targets on reset of the dispatcher.

Change-Id: I688df323fb24a7e228f4fa237f2fa772d9c0dc62
Merge "Ensure manager started/shutdown/joined and reset"