Fix simple_current_order to not conflict with order.
Fixes #4611

Conflicts:
	core/lib/spree/core/controller_helpers/order.rb
make unique SKU for sample data
Order history should be reverse chronological. Fixes #5024

Conflicts:
	core/app/models/spree/order.rb
Use the proper flash

This is not a success
Fixes #5034
use the variant_full_price on the product show page so the correct currency settings are used. Fixes #4995
Reduce unnecessary DB round-trips.

Spree::Product has after_save :touch in order to fire
the after_touch callback. But as a result, every Save updates
the product twice. There's no need to call `touch`
after a save if all you want to do is fire the after_touch
callback. So I fixed that.

I also fixed `punch_slug`, which gets called after_destroy,
so it does a single round-trip instead of about six.
After a destroy has already happened, it is unnecessary to
validate the product again, call callbacks again, touch the
product again, and fire all cascading touches again.

Closes #5049
fix failing specs with variant price
Merge branch '2-2-stable' of github.com:spree/spree into 2-2-nemo-stable