starting point for a rewrite of the serving subsystem

we need all operations to be asynchronous and less dependencies
across the worker threads
asynchronous version of shardcache_set()/shardcache_exists()/shardcache_delete()
expose an asynchronous version of the get/set/del api
conform to the new API
heading towards full asynchronicity
also the offset command supports the asynchronous mode

all tests succeed but more are definitely needed to cover all cases
(or at least as many as possible)
polished the new serving subsystem implementation (fully async i/o)

fixed also some leaks reported by valgrind