### Description
This implements streaming Node evaluation using an fun generic
`Stream<T>`, usable within any Vc (I'm kinda surprised it works). Think
of it a bit like a `DuplexStream`, it implements both a reader (that can
be streaming read with the `Stream` trait) and a writer (that can be
sent cross threads). As new values are written to the stream, any
readers get woken up to receive the next value.
Included as part of this is a rework of our "bytes" implementations,
extracting some logic into a new `turbo-tasks-bytes` crate. Eventually,
`Rope` should also move out of `turbo-tasks-fs` into this crate.
`BytesValue` are cheaply clonable (they're just a wrapper around
`bytes::Bytes`), making them a perfect low-level type to hold the data
being sent between processes and threads. They're also easy to convert
to and from a real `Bytes`, so that they can be streamed into our
`hyper::Server`.
### Testing Instructions
Paired next.js PR: https://github.com/vercel/next.js/pull/47264
Fixes WEB-243
---------
Co-authored-by: Alex Kirszenberg <alex.kirszenberg@vercel.com>