msg: Make SimpleMessenger shutdown safer

...in the case where no dispatchers were ever added, previously
we would throw an assertion in wait().

Signed-off-by: John Spray <john.spray@inktank.com>
Clean up init/shutdown a bit, still don't know why its crashing