Add Spree instrumentation

Add instrumentation to some checkout methods

Fixes #4802
Make best-promotion query more deterministic

Mostly for the benefit of the specs under MySQL.

This query was generating some sporadic spec failures for me when using MySQL as the database. This is because MySQL does not store fractional seconds so the "created_at" was sometimes the same value for two adjustments when running specs. And when created_at is identical the query below would actually pick the earlier adjustment instead of the more recent one.  Adding "id" as a fallback ordering fixes this problem and makes the behavior more deterministic.

The issue is reproduceable in postgres as well by using Timecop.

Fixes #4943
fix spelling for interim in image model--skip-ci
fixes #5469
Fix running just rake for specs.
Fix rerunning sample specs without new dummy app.
Refactor Promotion.applied scope to query faster

* Before the scope did two joins. Joining the join table and than the
  orders table. As joining the join table is sufficient to define the
  result set removing one layer of joins significantly speeds up the
  operation on large order tables.

Fixes #5453
Assign store id to each order.
Associate new exchange orders with the same store as the original order

Replaces #110.

Fixes #5440
Remove check thats no longer necessary.
Bump version.
Revert "Add Spree instrumentation"

This reverts commit 48669ed26f9ae7e1f07a31f19fbce794ce44ef9c.
Bump version.
Bump to rc3
Check payment method should respond to cancel. Fixes #5307
Improve the presentation during creating prototypes. Fixes #2526