Use canonical-rails for SEO.
Make PercentPerItem also check if rule responds to #products, the same as PerItem does

Test that the code does as it should
Fix failing spec and cleanup some deprecations.
Require 'mail' gem in Spree::Core

Fixes #3342