Add failure with throwable cause.

This will let us pass through caught exceptions if appropriate in certain subjects, so they are not hidden from the developer.