Store.default determines the default store

Existing implementation of Spree::Config.default_store was saving the
default store value. Now it simple calls Store.default, which will query
the database to find the default store.

fix template_rendering_spec
current_store for controllers/views on frontend

Checks current_store instead of Spree::Config for settings which have
been moved. This allows a Single store load per request.
Avoid failures due to ordering in rabl_cache_spec
Only downcase coupon code when it exists

Fixes #4515
Move current_store to controller_helpers/common

It should be available for controllers that dont inherit from
StoreController too. e.g. SessionsController in spree_auth_devise
Allowed for client side validation of phone number and zip code to be turned off.

The server side validation can be turned off but the setting did not affect the javascript validation.

Fixes #4510
Add store code and default boolean to support spree-multi-domain.
Update store migration for when apps already were using spree-multi-domain.
Only create store from preferences when there is no store.