refactor(turbo-tasks): Move OutputContent from memory backend into turbo-tasks, represent Empty as None (#69473)
This is preparation for local tasks/cells in #69126.
- Moves this into the `turbo-tasks` crate so that it can be used with
local cells/outputs in #69126.
- Remove the `Empty` state from the enum because the implementation in
#69126 does not currently need that. This can still be represented using
`None`.