Remove pending from API payments test which seemingly works OK
[backend] Display payment state on payments/show
Added partial capturing and payment capture events

After authorization of a payment you can capture either the full amount or a partial amount. The full amount can be captured using purchase! or capture! with no arguments. A partial amount can be captured with capture!

By using the 'capture!' method, a payment capture event will be logged so that we can track what amounts of a payment have been captured and when.
Use decimal field for capture_events, just like payment table
Store uncaptured amount when capturing + purchasing, and log capture events when purchasing also
Revert "Remove pending from API payments test which seemingly works OK"

This reverts commit 12218bcd63614db7d2d7c69c3f0ae2a36cc33c5f.

This still raises the problem on the CI server. TBI later.
Make auto_capture? a per payment configuration

Fixes #4302
Do not use orders_per_page to determine amount of zones returned in Admin::ZonesController

Fixes #4305
Display 'Capture events' table in the Payment show page

Fixes #4301
Allow stock items to only touch their variant after save if their in_stock state changes

Currently when a stock item changes its count on hand (e.g. an order is placed), it touches the related variant, which touches its related product (thus invalidating product cache). For users that do not show inventory counts on their product page, this code enables the ability to keep product page cache warm until a stock item changes its in_stock state, rather than on every purchase of that stock item.

Fixes #4299
Duplicate variants when duplicating products

Fixes #4029
Fixes #4264
Added rescue block in UpgradeAdjustments migration to catch issues where calculators no longer exist

Fixes #4274
Fixes #4278
Add script to backend so rails g can run
Check if spree route proxy responds to root_path

Some stores may not define a root_path under spree engine. Currently
only spree_frontend component does that.
Add product with track_inventory false via backend

Fixes #4309

Conflicts:
	api/app/helpers/spree/api/api_helpers.rb
	api/spec/controllers/spree/api/variants_controller_spec.rb
Remove useless currency.nil? check
Specify branch for spree_auth_devise in sandbox script so we can use local git repos
Add implementation of 'Considered Risky' state for Orders

If an order is 'Considered risky' (if Order#is_risky? returns true), then the order will go into a 'Considered Risky' state. This means the order will need to be approved by an admin before it can be moved into the final 'Complete' state.

This builds on the work in #4021.

Fixes #4298
Add note about Risk Analysis features to Core
Use a test email address in checkout_spec so that I'm not subscribed to random mailing lists