Exposed a MessageFailed event for external integrations

WIP
Moved MessageFailed, ExceptionDetails and FailureDetails contracts back to internal namespace and created an empty/placeholder MessageFailed public contracts.