[turbopack] Make ReadRef using `VcCellMode` semantics, add `VcCellMode::raw_cell` API (#68467)
*This is a migrated PR. This was in the turbo repository before the
next.js merge.*
**Migrated From:** https://github.com/vercel/turbo/pull/8847
## Description
More fixes to `ReadRef` on top of
https://github.com/vercel/turbo/pull/8845. There's a bit of a cascade of
changes that needed to happen here:
- `ReadRef::cell` should actually use `VcCellMode` so that it supports
new/shared semantics correctly.
- ... however, `VcCellMode` needs to expose an API (`raw_cell`) for
working with `SharedReference` so that we can reuse the
`SharedReference`/`Arc` inside of `ReadRef` instead of cloning the data
inside of it.
- ... however, `CurrentCellRef` needs to expose a `compare_and_update`
method that works for `SharedReference`
(`compare_and_update_with_shared_reference`).
- ... however, the naming conventions for the `CurrentCellRef` methods
are a bit confusing at this point, so rename them.
## Bigger Picture
This my sneaky way of introducing the `raw_cell` API as part of a
smaller PR, since that API will be needed for converting a local `Vc` to
a resolved `Vc`. That's a similar problem of needing to reuse a
`SharedReference` along with `VcCellMode` semantics.
## Testing Instructions
```
cargo nextest r -p turbo-tasks -p turbo-tasks-memory
```