[request] Make sure set_message() actually displays its given message (closes #3003425)
The default automatic form sets a standard submit message as session
data. However in some cases, such as the cancellation of a form edition,
another message is intended to be printed on-screen.
This patch makes sure that set_message() really scrubs all previous
messages (and ids) from the request object and from the session data.