Delete nil parameters to prevent undefined method hash_with_indifferent_access when nil address passed.
All gateway errors should render from same gateway error partial.
Update orders.promo_total in OrderUpdater

orders.promo_total field wasn't getting updated in certain cases, like when you add the promo first and then a line item afterward.
the *adjustment* got updated and the correct number was displayed in the cart, but the orders.promo_total value was incorrect.

Fixes #4607
Gateway errors should be consistent with other payment errors.

Fixes #5270

Conflicts:
	api/spec/controllers/spree/api/payments_controller_spec.rb
Automatically check the return item checkbox when interacting with settings for returning the item

Fixes #5272
Fix using check payment method in admin.