upgrade paperclip

Closes #5230
Scope Credit Card API to user_id.

Fixes #5232
Use string for key. Fixes #5243
Create tax adjustment label with inclusive information if applicable
Fixes #5244
Fix payment state logic to only result in failed if there are no valid payments.
Allow Product.orders

One thing that our store admins need to do often is find the orders that have been made for a given product. This can be easily achieved by adding these `has_many through:` lines. This seems like a capability that other stores might find useful as well.

Fixes #5247
Don't try to compute based upon adjustment total.
Don't try to compute based upon adjustment total. Part 2 git fail.
Change order updater to refresh shipment rates and amounts on change

* This change will refresh the shipment rates and amounts when a
* completed order state changes.

  One specific example would be if the order line item quantity is
  changed in the admin menus we want the order shipment and shipping
  total to update.

Fixes #5235
Fixes #5222
refs #4428

Conflicts:
	core/spec/models/spree/shipment_spec.rb
Fix spec.
Finally fixes last backend spec.
Fallback to a default route. Fixes #5261
Add destroyed variants to be removed from a shipment

* Previously, if a variant was destroyed it was impossible to remove it
  from a shipment. This change allows all variants to be removed.

Fixes #5268
Delete nil parameters to prevent undefined method hash_with_indifferent_access when nil address passed.
All gateway errors should render from same gateway error partial.
Update orders.promo_total in OrderUpdater

orders.promo_total field wasn't getting updated in certain cases, like when you add the promo first and then a line item afterward.
the *adjustment* got updated and the correct number was displayed in the cart, but the orders.promo_total value was incorrect.

Fixes #4607
Gateway errors should be consistent with other payment errors.

Fixes #5270
Fix using check payment method in admin.