[CIR] Implement handling for destroying delete (#193607)
This adds CIR handling for destroying delete calls. The basic support
for deleting objects via virtual and non-virtual delete calls was
already in place. All that was needed was to add the function to emit
these calls when a destroying operator delete was encountered in
`emitCXXDeleteExpr` and to add the code to add the destroying delete tag
parameter when it is needed.
Note, classic codegen elides the destroying delete tag parameter for the
new test case because it represents an empty class. That will be handled
as part of ABI lowering in CIR, but it is not yet implemented.
Assisted-by: Cursor / claude-4.7-opus-high