add more logic to outstancing balance and order updater to set the correct payment_state on the order when the order is canceled.

Fixes #5106
Closes #5193
Use rspec-retry to get past random phantomjs failures (turn off by default)

Closes #5178

Conflicts:
	common_spree_dependencies.rb
Added 'var' to define the function

Causes error when trying to load a page that uses this; such as the product edit page.

    Uncaught ReferenceError: set_taxon_select is not defined

Fixes #5195
fix ignore_types to work with FlashHash in rails 4.1
Fixes #5192
Add the reimbursement to ReimbursementHelpers.create_creditable params
Fixes #5197
Add track_inventory to permitted attributes.
Adds more specific error messages to promotions.

When checking if a promotion is eligible, the rules can specify why they
are ineligible by populating `eligiblity_errors`. The first error is
then displayed to the customer instead of a generic message.

Closes #5165
Add global product promotion blacklist.

Any products not marked as `promotionable` will not have promotions
applied to them. Also, orders containing only non-promotionable items
won't have order-level promotions applied.

Closes #5074
Fix a typo
Fixes #5201
Send originator of refund as an option to the gateway

Then the gateway can use that information for logging/auditing/connecting/etc.
This applies mostly to gateways that store the resulting objects in our database. In particular, the store credits extension can use this to link the credits generated & refunded to the originating object (a refund).
Fixes #5202