Store originator on store credit events

This allows admins, gift cards, reimbursements, refunds, etc to be recorded as the "originator" of a store credit event.

- Add originator_id and originator_type fields on spree_store_credit_events table
- Allow sending an "originator" property via payment method authorize/capture/purchase/void/credit calls
- Add an action_originator attr_accessor on StoreCredit that propagates to the StoreCreditEvent on save
- Send an originator to StoreCredit when redeeming a gift card
- Send an originator to StoreCredit when granting a store credit via the Admin UI

Also:

- Rename StoreCredit#authorization_code -> #action_authorization_code to match the other "action" properties
- Refactor some method calls a bit
- Refactor some specs a bit
Add some specs

Specs I forgot to put in db4a81e7bcd34fee80b2ec6a9df638b780cc0462
Also, update a non-bang save to a bang version. It was failing silently in the specs due to some missing data and was causing these new specs to fail.