Use the new diagnostic infrastructure (in a simplified fashion).
See #18516.
This is a trimmed down version of !4798 (closed), and includes only the bare minumum to start using the new diagnostic infrastructure.
I have made the deliberate choice of adding only the XXXUnknownMessage
constructors to each message type, because trying to port everything in bulk would generate a gargantuan MR.
Rather, the idea would be that this MR now stabilises the interfaces, and we can later add more constructors (with proper documentation), converting GHC one-diagnostic-at-the-time.