Query only valid payments for order confirmation_required?

Prevent a confirmation step in cases where a previous selected payment
method which required confirmation failed and customer picked one that
doesnt require confirmation next

Fixes #3970

Conflicts:
	core/app/models/spree/order.rb
	core/spec/controllers/spree/checkout_controller_spec.rb