Payday rewrite, part 5

Step 6 of #2508. Follow-on from #2541.
`create_card_hold` and `ach_credit` use two different exception models. They both raise exceptions, and also return an `error` value. Here we're only handling the second of these strategies, with the result that an exception raised by `create_card_hold` will terminate payday, whereas it should result in a log message.