see full message -- safe signal/lifetime/glib code
this unusually dense commit is the product of me using hostnamed as a
prototyping bed, you should instead follow the next numbered series of
commits to proceed this one, as they are the same changes but made
incrementally and gradually across the other three interfaces.
added:
* proper lifetime handling, everything coordinated in a gmainloop such that
daemons don't clean their memory twice or trip over the last instance's unclosed
file descriptors, etc.
* threadsafe unix termination signal handling
* more intuitive runtime, daemons immidietly either start up perfectly and print
a verification or crash and print a reason/probable solution
* some bugfixes detailed in further individual commits