Add ability to retrieve a shipment's tax total and final price
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
Merge remote-tracking branch 'upstream/master'