This will replace the 'exceptionMapper' while providing a superset of its functionality. In fact, it should also replace the 'shouldThrowErrors' flag.
The general idea is to provide an "errorChannel" at the gateway level to act as a "catch all" for any Exceptions that would otherwise have propagated back across the inbound adapter "edge" of the system.
This should support all options for error handling:
1. rethrow to caller: simply do not provide an errorChannel (this is the default).
2. suppress and/or log: specify "nullChannel" as the error channel.
3. map the Exception to a valid reply Message: use any messaging flow you'd like on the other side of the specified error channel.
4. handle asynchronously and return/rethrow nothing: provide a one-way downstream flow on the other side of the error channel.