fix permalink handling to force uniqueueness and rename on product destroy

Fixes #4805

Conflicts:
	core/spec/models/spree/product_spec.rb
'quantity -= amount' is the same as 'quantity += -amount'
Make migration more tolerant of deleted Variants

This migration bailed for me when it found an old order (before Spree used `acts_as_paranoid`) with a line_item referencing a Variant that no longer existed.

Making the migration use `variant_id` instead of `variant.id` fixed this problem for me, and I suspect will make the migration path smoother for other people who have been using Spree since before the `paranoia` gem.

Fixes #4822
Bump activemerchant to 1.43.1

This should fix spree/spree_gateway#149
Delegate accessor line_item.sku to variant

(Addressing conversation in https://github.com/spree/spree/pull/4856)

Fixes #4860
Don't assume default variant in JS. Let this be controlled by HTML markup.

Fixes #4849
Downcasing locale for jquery.validate i18n messages

Fixes #4867
add a new alias action :display and refactor some code of ability

Fixes #4865
Remove include of product filter on spree taxons

I don't know what these used to do, but they don't do that anymore.

Fixes #4861
Added initSelection to variant_autocomplete

Fixes #4862

Conflicts:
	backend/app/assets/javascripts/spree/backend/variant_autocomplete.js.erb