Fix constraint errors getter

This request removes unexpected behaviour from the Constraint::getErrors method and fixes #97:

There is validation logic that depends on error state and determines the failure of more complex validation processes by comparing error counts before and after. If getErrors removes information from error state such logic may fail.

Issue #97 illustrates such a circumstance, see added unit tests.