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.
Merge pull request #2714 from chillu/pulls/validate-write-message

Leave original ValidationException intact in write()