make UniqueConstraintError inherit ValidationError

Unique constraint errors are in fact a different type of validation
error, run on the database level. While important to make a destinction
internally when we have encountered a UniqueConstraintError vs a normal
ValidationError, on the user side they should be represented the same.
This patch allows these exceptions to provide data in the same fashion
making it easier to uniformly process the errors
But it's the combined value that needs to be unique, not the seperate values.
If the combination of email and name needs to be unique it would be confusing to me being told that "email needs to be unique" and "name needs to be unique"