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
Adds tracking_url field to shipping methods

This feature adds the ability for tracking numbers to be clickable throughout
the system.

Without it, the customer needs to locate the tracking website themselves and
copy and paste the tracking number (except gmail users). It also effects admins
who are trying to investigate the history of a shipment, it would be helpful if
they could just click on the tracking and open up the tracking site.

Fixes #2644