Leave original ValidationException intact in write()

If we want DataObject->validate() to be used instead of the form layer, we
should allow for validation errors to be passed through unchanged to the
controller layer so we can present them to the user. The context of which
class is written should be apparent from the stacktrace of the exception.