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>