Fall back to name on CreditCard#to_active_merchant

Gateway provided via active merchant might use those first and last name
instead of the single name string

Fixes #4728
handle credit card names with spaces

this addresses a change from https://github.com/spree/spree/commit/71d4deed1aa815a2727357f2c35e2f544f5f1959

Fixes #4770
Update payment state any time a completed order item change

Fixes #4411
Fixes entering localized amounts for payments

While running Spree in Dutch locale, adding a Payment recognizes the decimal separator as thousands separator. So when using the pre filled value (e.g. 45.21) this will be converted to a much larger amount (4521.00). The fix makes sure that a localized value is filled in (45,21 instead of 45.21).

Tested on Spree 2.2.1

Fixes #4753