Adjust admin product tab selected

removing taxon from the list of controllers which make it selected

Fixes #2579
Refactor product duplication.

Fixes #2641
Use huoxito's suggested fix to fix CheckoutController spec

https://github.com/spree/spree/commit/7825e6dd24fea5810ceaf382736246a81460cfc7#commitcomment-2705000

Fixes #2601
orders api now returns its variants product id #2561 #2565

Fixes #2587
Added CouponApplicator class

Fixes #2548

This is a combination of four commits + this one:

* Use CouponApplicator in API's CheckoutsController
* Fix spec failures
* CheckoutsController spec for apply a coupon to an order
* Removed unnecessary include
[backend] Fix issue where option types were not being correctly set in Admin::ProductsController

Fixes #2639
Display useful message when no payment methods, shipments (for orders) or shipping methods can be found

Fixes #2636
[backend] Correct event_name checks in promotion_adjustments_spec
[api] Remove duplicate tests in OptionTypesController spec
Move money spec to core
Refactor Spree::Money's with_currency and no_cents option settings
Insert non-breaking space in Money objects where currency symbol is afterwards to prevent issues as seen in #2634

This commit introduces the to_html helper for Spree::Money objects

Fixes #2634
Add explanations of components to README.md

Not entirely sure about the backend/frontend distinction since it just happened, so hopefully I got this right.

Fixes #2653
Minor grammar correction in Core Gemspec

'Barebones' without a space functions as an adjective. In this case, we're referring to the gem, so using 'bones' as a noun is correct.

Fixes #2657
Fix for failing authorization when modifying the taxonomy tree

Issue: when modifying the taxonomy tree (create, update, destroy), authorization
is required but fails when Spree::Api::Config[:requires_authentication] is false

Fixes #2659
fix: update_positions is not a rest action so it should not call load_resource

Fixes #2627
Fix percent per item calculator to work when no rules restricting products.

Fixes #2660
Fix issue with count_on_hand attribute in sample loading (#2631)
Update activemerchant to requiring at least 1.31.x

Fixes #2661