Fix two bugs with our signal handler

* It's important to die by reraising the signal, otherwise the shell doesn't
  know what happened to us. E.g. if the call to PosixBroker is wrapped in a
  script, the shell wants to know that we received SIGINT so it can stop
  executing the rest of the script. A minor point, but there's a small movement
  going on to fix programs that handle this wrong, and we might as well
  cooperate.

* It's not safe to use iostreams, from a signal handler. Use the logger
  asynchonously instead. Fixes #212