Allow Failed -> Completed status for contributions
from https://chat.civicrm.org/civicrm/pl/iqwg9chm4pgq9gd57sb3q5h49y
Example workflow / use-case:
- Contribution is created in pending (eg. Recurring contribution using Stripe via contribution page and card number: 4000000000000341 - see https://stripe.com/docs/testing#cards-responses).
- IPN returns "Failed" and API3 Contribution.create is called with status=Failed.
- Later an IPN returns "Success" and API3 Payment.create is called with status=Completed.
Currently, step 3 fails because Failed->Completed is not allowed for contributions.