Added MessageRedirectExceptionInterface

This is to be used for type checking when handling kernel exceptions
Exception class used when creating MessageRedirectException objects now defined in services.yml

This allows the parameter to be overwritten at an app level (using another MessageRedirectExceptionInterface class)
Moved setting of flash message and redirect into the MessageRedirect class