[ty] Support publishing diagnostics in the server (#18309)
## Summary
This PR adds support for [publishing
diagnostics](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_publishDiagnostics)
from the ty language server.
It only adds support for it for text documents and not notebook
documents because the server doesn't have full notebook support yet.
Closes: astral-sh/ty#79
## Test Plan
Testing this out in Helix and Zed since those are the two editors that I
know of that doesn't support pull diagnostics:
### Helix
https://github.com/user-attachments/assets/e193f804-0b32-4f7e-8b83-6f9307e3d2d4
### Zed
https://github.com/user-attachments/assets/93ec7169-ce2b-4521-b009-a82d8afb9eaa