fix error handling and hanging problems (#4324)
### Description
* fix hanging tasks when recomputing cells
* fix inactive tasks when using streams
* fix fatal error handling for node.js evaluation
We need to ensure that Vc reads and connected Tasks are correctly
handled in when producing streams. It's important that the Tasks are
connected to something that is active when consumers read from the
stream. Also Vc reads need to invalidate the stream and cause the
production of a new stream. That was not handled correctly before.
Now we use a child task to produce the stream that is active as part of
the function that returns the stream. We also use a little hack to
update the stream in the parent task when the child task is invalidated.
It's a bit hacky, but eventually this kind of logic should probably move
into turbo_tasks as part of some streaming concept.
### Testing Instructions
Placing `process.exit(0)` in `next.config.js` or `postcss.config.js`
---------
Co-authored-by: Alex Kirszenberg <alex.kirszenberg@vercel.com>