catch DataError and ProgrammingError as well as IntegrityError, as all three can be caused by an API user
Merge pull request #284 from goodscloud/catch-user-errors

catch DataError and ProgrammingError as well as IntegrityError