turbo-tasks-backend: Enforce that tasks exist when accessing them (#96043)
Change the semantics of `task` so that it enforces that tasks actually
exist (either in memory or storage). For the rare cases we expect to be
creating tasks, have callers call `get_or_create_task`
generally creating a task is _racy_ so it is always `get_or_create` but
when doing things like updating the aggregation graph or reading cells,
we _know_ it must exist so assert it.
Currently this is a `debug_assert` but with the GC we may update it to a
full assert.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>