Only count eligible promotions towards Promotion#credits

Fixes #4120
Append omega to content classes

Fixes #4179
Order#available_payment_methods should also return payment methods marked as 'Both'

Fixes #4199
Add changelog for #4199
Bump acts_as_list to 0.3.0
Convert credit card expiry values to integers

Fixes #4188
Change UserLoggedInRule to use presence of a user as its check

The logic goes that if the user is signed in, then the order will be associated to that user (through the magic of associate_user). Therefore, if an order has a user then the user has been signed in at some point in the past. If the user is not signed in, only 'email' would be set for the user
make sure that we deduct the correct amount when the calculable is order same as done with the line_items.

Fixes #4105
Add missing translation save_my_address
Ensure duplicate payment methods are not returned by Order#available_payment_methods
Actually assert association settings in product_spec
Added ability to pass order token in HTTP header as X-Spree-Order-Token

Fixes #4148
Allow any activemerchant 1.42 version

Fixes #4215
should we not always be able to render the customer_detail searcher? this change makes this backend spec `features/admin/orders/new_order_spec.rb:25` pass.

Fixes #4193
Only inject requirements for api, backend + frontend if extensions require them
Improves Api::ProductsController#create
Fix api/products_controller spec on postgres
Remove variants from permitted_product_attributes

Since Product don't use nested_attributes rails feature for variants
anyway. Plus add some more tweaks to make sure it's possible to pass
either a hash of variants or of option types when creating a product.
Find or create shipping_category on api/products#create

Users can send a shipping_category string on the product payload and
spree will find or create that shipping_category and associate that
category with the product. e.g.

    product: {
      ...
      shipping_category: "Free Shipping Items"
    }
Accept both variant and variant_attributes

Keep compatibility with previous Spree versions