daemon: use g_unix_signal_source… to catch signals
Use g_unix_signal_source_new, instead of rolling our own signal code; also just quite the main loop in the signal handler and do the cleanup when we return from the main loop in main() as to avoid issue of reentrance and co.
The more complex things that was done before, seems to have caused #127 (closed)
Closes #129 (closed) #127 (closed)