allow the client library to report errors

so that clients can distinguish between a value missing and an error occurred
when using the shardcache_client_get() API

errors are reported also for the other operations
(check utils/shardcachec.c an example on how to collect the error from the
 shardcache_client instance)