provide the resource (retain-counted) pointer to the op_create() arc callback

so that the caller can use arc_retain_resource() and arc_release_resource() to control
the retain count of a given resource (bound to a cached object)
retain the object resource before calling the iterators to notify completion/error/data

since iterators might release the resource themselves if they don't need it anymore, but we are
still referencing it across the arc_ops_fetch_from_peer_async_cb() function