Rework messaging destination start/restart to use external synchronization.

This consolidates the ref counting and latching logic to one class:
ServiceSynchronizationManager.
Reduce code duplication.
Clean up imports.