Replace spree_current_user for try_spree_current_user

As that's what the core provides. This should fix the errors in frontend
build
Only validate the month/year for CC info if there is no payment profile
A payment profile can either be a customer id or a payment profile id
Only show last digits on payment form if they exist
Added gateway_customer_profile_id and gateway_payment_profile_id to permitted attributes (for Stripe.js support)
Persist address ids on UserAddress module

Otherwise addresses would not be associated with the user at all
Introduce channel attr to Order model

Could be set when importing orders from other storefronts
Add `ship_total` to api order_attributes
Make api helper attributes class attributes

To make it easier to append more attributes. Other applications /
extensions can append their own stuff without having to override
methods. e.g.

        Spree::Api::ApiHelpers.order_attributes.push :locked_at
Make OrderInventory aware of `track_inventory_levels`

It should not create backordered inventory units when it is set `false`
use the new Spree logo [Fixes #3975]