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.
Don't touch stock items when order is not completed

Fixes #3324
Fixes #3334
Remove pending specs in OrderInventory
Remove dash component from main Rakefile
Apply coupon before payments are created and processed

Payments can't be created before a promotion discount is applied,
otherwise we get inconsistent values between payment amount and order
totals

Fixes #3351
Display right price when product has variants

When a user loads the product page it was not displaying the price of
the variant chosen on the form

Fixes #3384

Conflicts:
	frontend/app/views/spree/products/_cart_form.html.erb
Fix issue where 'deleting' a product would cause admin products listing to error out

Fixes #3385
Fix RSpec deprecation warning with should_not raise_error(SpecificErrorMessage)

DEPRECATION: expect { }.not_to raise_error(SpecificErrorClass) is deprecated. Use  instead.
Clean up most rspec deprecation warnings

Too much noise when running api and core build

Fixes #3376
avoid hard-coding path of orders, stock locations + variants APIs

Fixes #3371
Fixes #3372
[api] Remove excessive do/end block from variants resources definition
Click "Update" button on order details page, not "Continue"
Require 'mail' gem in Spree::Core

Fixes #3342
setting to true after this conversation, https://groups.google.com/forum/#!topic/spree-user/D9dZQayC4zs