Render subdiagnostics and secondary annotations as related information in the Ruff server (#26011)
## Summary
- Preserve additional primary annotations, secondary annotations, and
located subdiagnostics as LSP related information in `ruff_server`.
- Keep unlocated subdiagnostics in the main diagnostic message and
translate notebook annotation spans to the correct cell URI and range.
- Add focused conversion, end-to-end, and notebook coverage.
`ruff_server` previously discarded this diagnostic structure during LSP
conversion, unlike `ty_server` and the Ruff/ty playgrounds.
## Test plan
https://github.com/user-attachments/assets/3be19a4d-6559-42d8-8673-207bb11406bb