Lock store credit before modifying.

This prevents a potential race condition where store credit can be
consumed by multiple checkouts happening simultaneously.

As with most race conditions, it's difficult to replicate in a test
environment, but this will now lock the store credit prior to
modification, so that modifications happen within a transaction with the
correct up to date values.
i think it may actually give up the lock here in the "call" because it will commit to the db in some cases here https://github.com/spree-contrib/spree_store_credit_payment_method/blob/master/app/models/spree/store_credit.rb#L188