MCO-473 Handle exceptions in securityprovider#decodemsg

Here we add an unverified version of the senders identity to the message
headers as 'mc_sender'.  It's used for error reporting when handling
a failure to call #decodemsg on the configured securityprovider.  If we're in
that state we don't have access to the verified identity of the message sender
as it's in the body unpacked.

We also add variant handling of the exception.  If we can be assumed
to be a server (msg#type == :request) then we raise the error as
before.  If we're a client then we log the exception as a warning
along with the unverified 'mc_sender' header, and attempt to carry
on, handling responses from other agents.