Repurpose the FlagValue field in DiagnosticEngine to store the Checkname.
This removes the need to remove the checkname from the message when we process the diagnostic later.
I looked at a few options and FlagValue seems the simplest way to implement this.
Its only ever read when there is a warning option for the given DiagnosticID, which will never happen for clang-tidy checks.
Removing the Checkname is also a necessary first step if we ever want to support tablegen diagnostics route for clang-tidy.