Merge pull request #5063 from danielwestendorf/optimize_backend_products_query

Remove tables from includes on index query which are not needed an resul...
Wait ajax request a bit for backend spec fix
Include spree_current_user on custom user template

spree/api expects either spree_current_user or an api token to
authenticate users. Since backend no longer sends the api token we need
to make sure custom auth apps have spree_current_user available in api
component
Allow users address assignment over API.
Add data-hooks to the admin order detail side menu

Fixes #5086
Refactor ensure_updated_shipments call to be within the OrderContents and OrderPopulator classes to ensure consistency. Fixes #5082

Conflicts:
	core/app/models/spree/order.rb
	core/app/models/spree/order_populator.rb
	core/spec/models/spree/order_populator_spec.rb
	frontend/app/controllers/spree/orders_controller.rb
Add API to get credit cards for a specific user.

Fixes #5077
Fix whitespacing.
If ShippingCalculator has an empty string currency, it matches to all currencies

Closes #5097
Validate uniqueness of order numbers... Why was this FIXME never fixed until now... Fixes #5102
changed generate_order_number method for insure that generated numbers never finish #5102
Fix broken specs from order number refactoring, and improve performance. Fixes #5102
Fix payment state in order importer. Fixes #5109
Allow assigning source_id and source_type rather than creating a new source.
Use rand(10) to cover all digits 0-9. Fixes #5113
Revert "Allow assigning source_id and source_type rather than creating a new source."

This reverts commit 66b61b1e10c6823bbbd6d4c5ff51cf736ca92259.
Fix credit card reuse on spree api
Dont update inventory if order has no delivery step
Load current user roles on api requests

Conflicts:
	api/app/views/spree/api/variants/small.v1.rabl
Admin users should be able to set any param via api importer