[api] Do not call object_params twice within CheckoutsController

Fixes #3965
Allow variants to have a different tax category to product Defer to products tax category if one isn’t set on variant/no variants created

Fixes #3946
Add changelog entry for #3946
Replaced Taxon :position refs with :child_index=

Fixes #3390
Fixes #3956

Taxon position unnecessarily fights against the awesome_nested_set
API. By using a_n_s's :move_to_child_with_index method we can more
fully leverage acts_as_nested_set.

Conflicts:
	core/app/models/spree/taxon.rb
	core/spree_core.gemspec

Conflicts:
	backend/app/controllers/spree/admin/taxons_controller.rb
Not attempting to reorder taxon on create since awesome_nested_set refuses
quote classname for Order#all_adjustments

Class names must be strings so that they don't try to load the class that they're referencing
No longer attempt to add tax_total column if it already exists
Price inclusive tax adjustments are no longer included in total calculations
Split taxes into included + additional

Included are those which are already included in the price and there should not be an additional adjustment applied on top of that.

A great example of this would be Australia's GST of 10% on some items. Something worth  would have 10% of that price made up by GST, so the base price of the item would be .54545... however, the price displayed is  everywhere. On the receipt from a store, you would see GST tax amount included which is NOT addeed to the total.

A great example of an additional tax would be the USA's Sales Tax, whereas on the shelf it may say 0 it could have a tax rate of 8.25%, resulting in the item *actually* costing 0.825.

It's worth noting here that we only need to pass the additional tax amounts to the gateways, too.
Bump to activemerchant 1.42.2
Permit last_digits to be sent through on the checkout

This is necessary for the Stripe gateway in spree_gateway
No longer create promotion adjustments if the calculator returns 0

Fixes #3966