Punchlist changes.

Add default values for all required fields that can be defaulted.
Modify stored purchases to overload the payment_method to support the
agreement_ref.  Move requires! definitions to public methods.