Message doesn't throw error on multiple responses

* Message response is now idempotent (except for touch) Message
throwing errors on multiple responses was too draconian. It would cause
serious problems when auto-finishing messages in the discard case.
* Small PR fixes