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
Persist address ids on UserAddress module

Otherwise addresses would not be associated with the user at all
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
Bump aws-sdk to 1.27.0 to remove restriction for Nokogiri < 1.6
Remove position and child_index from taxon_attributes, since they're no longer used
Query only valid payments for order confirmation_required?

Prevent a confirmation step in cases where a previous selected payment
method which required confirmation failed and customer picked one that
doesnt require confirmation next

Fixes #3970
use .try on @differentiator into delivery step

in order to prevent NoMethodError when it is nil

Fixes #3984
Add changelog entry for #3946
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
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
Persist address ids on UserAddress module

Otherwise addresses would not be associated with the user at all
Stub calculator to return a non-zero value in create_item_adjustments test
Promotion calculator must have something to discount within cart_spec

Otherwise no adjustment will be applied