Adds Record to track completion of donation module

This is analogous to how isCompleted() works for the extra costs module.
Disable donations after payment

It's unclear if we support changing line item preferences after credit
card payment has occured. For now, just do the same thing we do in other
accounting modules, and don't allow changes after payment has occured.