handle the Deferred from disownServiceParent when re-parenting
Don't start a Dispatcher until startService

It's possible for a Dispatcher to be attached to an already-stopped
PBManager, in which case the Dispatcher will never start.  Refs #3081.
Merge pull request #1466 from djmitche/bug3081

Fix some problems with custom services