Removes dependency on old Spree::Order payment method.

Replaces dependency on the old payment method copied from Spree::Order
model with calls to the state aware pending_payments method from
Spree::Order. Only applies to the first pending payment to ensure
credit is not applied multiple times on same order.
Fix specs.
change current_user to spree_current_user
An (artificial) originator for credit adjustments

This lets us automatically recalculate the Store Credit adjustment when
the order changes.
Force the adjustments to recalculate in order

1. Shipping
2. Promotions
3. Tax
4. Credits
Log whenever a credit is used.
Add credit expirations