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