ProcessorChain: add an improved .failOnError() method

This one takes a ProcessingMessage as an argument, and raises
message.asException() if processing fails.