fixed a check which was broken by commit 9f02ad43aa9415429d3b95b9b4f3762be946b915
use/declare arc_resource_t properly ... it shouldn't be a pointer since it already hides a void *
user readdir_r() instead of readdir()
bugfix: if there is no listeners list , there is no point in trying iterating over it
make use of the shardcache_storage_load()/shardcache_storage_dispose() API

instead of loading the plugin directly ... and also avoid wrapping the storage in
an extra structure (not necessary anymore)
ensure calling the thread_start() and thread_end() callbacks if they are available

it means that the storage needs to be notified about new threads accessing the storage being created
bugfix: we need to pass the priv pointer to the count() callback and not the storage itself
minor cleanings
updated TODO
relaxed the requirements for v1.0

fetch_multi and store_multi at the storage level make sense only once
the protocol v2 will be implemented
bugfix: don't leak objects when dropped from the cache either at fetch or expire time

the object is retained so we need to release it as well
just use a 1 sec interval when polling on the iomux used for expiration timers
micro-optimization + updated libiomux
bugfix: don't overrelease the expiration context in case of errors
safety belts
return the actual number of processed bytes

and not always the amount of data received as input
ensure destroying the contexts list in all fault paths
version bump
in the actual version of the protocol it's wrong to return a status code on get requests

the client might interpret that as the actual value for the requested key
forgot to include the newline at the end of the error message