Clear other messages before dry-run to get only the ones produced during (#5581)
The dry-run shows in `forwarded_xcms` all the messages in the queues at
the time of calling the API.
Each time the API is called, the result could be different.
You could get messages even if you dry-run something that doesn't send a
message, like a `System::remark`.
This PR fixes this by clearing the message queues before doing the
dry-run, so the only messages left are the ones the users of the API
actually care about.
---------
Co-authored-by: Adrian Catangiu <[email protected]>