demo: Add simple commandline clients

Add clients that only use the public api and do the minimal thing to demonstate
buxton functionality.
core: Test for get_value returning data

In order to avoid terminating clients with a valid get_value request where no
key exists, check to data was found before trying to add it to the response. If
data isn't checked data fails to be added to the response (because it is null)
and the function to return a failure after which the client's connection is
terminated.
shared: Set dummy label on client value

In order to serialize the request to the daemon correctly all data must have a
label. As the client should not need to care about labels, have the library set
a label on the client's value data.