Return json_response with_indifferent_access
Display credit cards under payments in orders/show [api]

They're displayed as payment source. Stores using custom payment sources
can customize the payment_source_attributes displayed in the api by
setting:

    Spree::Api::ApiHelpers.payment_source_attributes.push :attribute, :other_attribute
remove syntax error

remove syntax error from core engine file.

Fixes #4494
Zero Order#item_count when emptying the order

Fixes #4496
Spree::Variant.deleted? returns Boolean

This change brings the `Variant` behavior in line with the `Product` behavior:

https://github.com/spree/spree/blob/master/core/app/models/spree/product.rb#L134

Fixes #4497
Fix taxons spec related to Store model arrival
improve stub_authorization! for controller specs

Previous implementation didn't work with accessible_by. This now creates
a (possibly custom) ability which is stubbed out in the controller.
fix promotions spec
Dont stub authentication twice in admin/products_spec
Use local var order in case partial is rendered outside orders controller.