Handle null sender in signal receiver.

The DBus specification lists the Sender header as optional, by
explicitly checking if has a value we avoid a runtime panic.

This enables listening to PulseAudio signals, among other things.
Merge commit '9865228' into tdubrownik-master
Simplify signal handling code