cli: minor logging cleanups

We are using printf(3) for buxtonctl log messages, so convert instances
of buxton_log() where appropriate.

When we fall back to direct mode, this is not an error, so remove that
log message entirely.
db: Fix set label needing correct type for key-name

When running set label, the key's data type is expected to be STRING but
this does not need to be the value's data type because set label does not
update the value. In order to allow this behavior, change set label to
run db set_value without running direct_get_value_for_layer. Then the db
will need to get the data value itself when it is passed a NULL for data
in order to store that value when writing the new label.
test: Fully cover parse_list
core: Add FIXMEs
direct: remove Smack debug log message

This log message is valid only on a Smack-enabled system, and only when
the above conditional checks all pass.

In all other situations, the message is not true, so it is best to
remove it.
direct: improve a couple of log messages

The start/end messages are only useful when we know the layer in
question and the group or key-name.
Fix free before hashmap_remove bug

This issue Was causing buxtond to segfault if register_notification and
unregister_notification was called on a give key, then set_value.
Fixes this wrongly timed free
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.
test: Add a new fuzzer for testing buxtond

The new fuzzer is intended to be used for testing buxton's input validation
(the messages are valid and comply to the protocol).

Code is adopted from patch from Mihai Dilimot, thanks!
shared: Improve callback cleanup

Free callback structures when cleanup is called and reap timed out
callbacks in more places.
test: Fix leaking memory in fuzzing