bugfix: the shardcache_t structure had space for only 2 async_io contexts

which are now dynamically allocated in function of the number of workers
(or as specified at shardcache_create())