core: Stop using unnecessary poll timeout

When no more messages are ready to be processed, don't set poll timeout.
Also switch to signalfd in order to avoid needing to have the daemon signal
itself to avoid not potentially missing messages when handling SIGPIPE when
other messages are pending.
shared: Update correct mimumum db data serialized size

Because buxton allows NULL BuxtonStrings as values, update the
BXT_MINIMUM_SIZE to remove 1 length values.