cli: add callback for list-keys

For buxton_client_list_keys, a callback must be used to print the keys,
using the array passed to the callback.
shared: Seperate callback handling into own function

Because of the special cases involved it is cleaner to add, remove and execute
callbacks in response to daemon messages in a specific function.

Fix memory leak of notify_value and BuxtonData list.

Also keep iterating through the fd data when a single message has a problem
that isn't going to impact the rest of the messages.
api: Expose buxton_client_handle_response

This function is used by clients who poll on their buxton socket themselves.
It is also intended to be used by toolkit main loops.
demo: Change gtk demo to not poll twice for the same data
shared: Account for invalid responses too

Signed-off-by: William Douglas <william.douglas@intel.com>
core: correct log message

Signed-off-by: William Douglas <william.douglas@intel.com>
Revert "libbuxton: Add poll method"

This reverts commit 6af4366ded33a2f9b1beb809f3273f6efee3119e.

This was put in as a stop gap for developing the gtk client and can be removed
now.

Conflicts:
	src/include/buxton.h
	src/libbuxton/lbuxton.c
	src/libbuxton/lbuxton.sym
cli: partially revert "add callback for list-keys"

The code needed to print key values was accidentally removed in the last
commit, which broke 'buxtonctl --direct list-keys foo'.

Restore this code to fix direct mode.