reverted some unnecessary changes

the underlying arc object is released later and uses its own lock so it
doesn't interfere with the lock in the cache_object_t structure.
In the previous commit only shardcache.c should have been changed
since there the destroy callback could be called as soon as
release_ref() is called on the underlying object, but this doesn't mean
that the underlying object is released immediately as well.

The changes previously applied to arc.c are hence worthless and might
instead introduce other undesired side effects (unlikely but still possible)
so it's just better to revert them