Bump jquery-rails in Spree frontend to 3.1.0
Adapt api/products eager load to new templates structure
In memory sort of variant.options_text

Assume that the option_values -> option_types have been eager loaded via joins/includes and simply sort in memory. Removing the explicit query removes N queries for products/show in the api where N = number of variants that belong to the product. This should allow us to fully take advantage of the API optimization made here:

https://github.com/spree/spree/commit/30597b2aa7a1f47b5e636750baf7c100f0cc42b2

Fixes #4294
remove rspec deprecated stub
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
Add uncaptured amount to payments table