remove assign_stock_changes_to

Nobody likes this function. It showed up to a party once and everyone
else left. Its parents are ashamed of it. It listens to bad music.
Removing it is doing the whole class a favor.

Fixes #4532
[api] Support order routes on /api/checkouts as well as /api/orders

I got sick of not knowing if /api/checkouts was the right prefix to use, or if I should use /api/orders. If I get sick of it after one day of usage, then I'd suspect other people who are using the API would also be sick of it.

Let's fix this problem and there will be no more getting sick of it :)
[api] Allow for accessing states inside of countries in the API

Strangely, StatesController already supported this but there wasn't a route defined for that. I only found this out today when I tried making a request to /api/countries/:country_id/states (with my spree_api_examples project) and had that fail.
[order importer] Assign created shipping rate as the selected shipping rate
[order importer] Ensure that order totals are correctly updated
[api] Do not assume that params[:id] is for the order only
[backend] Make variant selection in _create_line_items wider
[backend] convert variant_autocomplete to coffeescript
[backend] Remove options_placeholder in favour of returning options in select2 result
[backend] only show options text in variant_autocomplete if there is text to display
Include display_tax_total in API responses
Wipe all shipments when ensure_available_shipping_rates validation fails
Touch an order when a line item is saved

Fixes #4419

Conflicts:
	core/app/models/spree/line_item.rb
	core/spec/models/spree/line_item_spec.rb
backend: Remove missing reports#show route

Fixes #4528
More robust namespace adjusting

As discussed in https://github.com/spree/spree/issues/4479, the existing migration would generate inaccurate class names due to the fact that `demodularize` will only select the very last part of the class name.

So, for instance,

`Spree::Calculator::Fedex::Ground` would be changed to
`Spree::Calculator::Shipping::Ground`, which would trigger an `uninitialized constant` exception. The desired new class name is
`Spree::Calculator::Shipping::Fedex::Ground`, and this suggested PR will handle those class name changes more appropriately.

Fixes #4520
Adding data-hooks to admin shipping method form

Our app does some rearranging of these elements, and it's dramatically easier if not only the group of fields, but the fields themselves have `data-hook` defined. This should help anyone working with this group of fields in Deface.

Fixes #4521
[backend] remove csrf-meta from partial bodies

Fixes #4531
Do not attempt to create a store with 'spree' code if one already exists
[backend] Always show 'Tracking' label on shipments

A couple of the backend specs were failing because this label wasn't around
Require spree_api in backend

So that users can use spree_backend by only adding that gem to their
Gemfile and not having to manually require api