Change confirm step label to uniform it with other steps

Fixes #4075
Add ability to set page title for admin pages using a content_for :page_title
Leave comment as to why we need to do next_transition.run_callbacks in OrdersController
Only require email when past cart or address

This means that an email field can now be provided on either the cart or address forms

More importantly, the 'state' field will now say 'address' when users reach that state, rather than 'cart'

Fixes #4079
[api] Remove test checking for email validation failure after cart

No longer required since 177fecf32cce98b78b56d6bef8d01ab137ea0726
Switch state for email validation test to address, so that its triggered on transition to delivery

Necessary after 177fecf32cce98b78b56d6bef8d01ab137ea0726
Call shared/_head title content_for 'title', becuase 'page_title' is already taken
Ensure that state_changes aren't created when the state doesn't change

In retrospect, this seems very obvious.

Fixes #4072
Move shipments JS out of variants_autocomplete.js and into shipments.js
only payment state change is logged now
Fix for Spree::Money's default currency when currency can't be detected, add test

Fixes #4077