Refactor process_payments!

As with the payment changes, this allows us to call custom methods on
payments for processing.
Add authorize_payments! and capture_payments! to orders.

Allows us to specifically authorize or capture payments on an order.