nightly: Unify language model event stream handling (#63520)
Follow-up to #62652
Removes a lot of duplicated code in favor of throwing it
intolanguage_core as well as removing duplicate struct definitions
that were only different because of entirely unused fields.
Furthermore, improves error-messages so that these untagged enum errors
are no longer a thing in an effort to make this more maintainable in the
future.
Lastly, includes a small but nice improvement changing a Value to a
RawValue so that we don't have to clone for deserialization in that
specific case.
Release Notes:
- Improved streaming for OpenAI-compatible providers.
Co-authored-by: Anant Goel anant@zed.dev