Fix misleading error message on deadlock
We were seeing error messages like
API_Exception : financial_type_id is not valid : Donation
when a deadlock was hit. The error made not sense as 'Donation' DID exist and did not help us
to identify the issue as a deadlock. It's still helpful with a deadlock to know if
a real constraint violation is hit as per https://lab.civicrm.org/dev/core/issues/1481 sometimes
a disturbing amount of queries have been rolled back.
Let's fix to handle pseudoconstants here & give a useful message.
The previously converted params did not get to this point but we can re-do that work in this low
volume function rather than do a lot of re-thinking