Use permitted_option_value_attributes instead of permitted_option_type_attributes

Fixes #4772
Add deletion protection for promotion actions

When promotion actions get destroyed, all of their completed adjustments
then have a reference to a non-existent source, which causes data issues
when trying to understand what promotion an adjustment was for.

Since promotion actions get destroyed when a promotion changes how it is
applied, which can happen somewhat frequently, adding a paranoia around
it will allow a paper trail back to the original promotion.

Fixes #4806

Conflicts:
	core/app/models/spree/promotion_action.rb
[api] Ensure order ids are ordered in orders_controller_spec
Include sample in top level rake test and test_app

Fixes #4808
Fixes an issue where entering 30.49 would preauthorize 3049$.

Fixed by using both the dot (.) and the custom decimal separator for amount parsing.

Fixes #4259
Pagination and search in property list

Fixes #4369

Conflicts:
	core/app/models/spree/app_configuration.rb
make sure we fail fast and exit when a spec fails

Conflicts:
	Rakefile
Javascript fixes for IE8.
Update backends adjustments controller to fix order.update! call.
Fixes receiving RMA's when inventory tracking is turned off.
Fix broken spec.
Typo fix

Fixes #4814
Dont destroy all order payments in api/checkouts

Can't see why we would do that, no spec coverage or git history to
explain that behaviour either
Improving performance of migration add_line_item_id_to_spree_inventory_units

I noticed when I ran these commands on the console that the line

    shipments = Spree::Shipment.includes(:inventory_units, :order)

would load a tremendous amount of stuff from the database, negating the performance savings by the `find_each` method. This may even be a Rails bug. Putting the `includes` and the `find_each` into the same line fixed performance issues immediately.
Calculate Order#uncaptured amount on payments on the fly.
Fixes #4831
Fixes #4834
Fixes #4747
Adding data-hooks to search results header

Our app modifies the look of the page when no results are found, and in order to do that we have to override this entire partial. I'm thinking that adding some data-hooks might make it easier for folks like us to modify just a part of the partial if needed.

Fixes #4820
Fixes Zone #contains? n+1 query performance.

Fixes #4832
fix permalink handling to force uniqueueness and rename on product destroy

Fixes #4805
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