Add promotions code to core, backend + frontend where applicable

Move promotion_adjustments_spec to correct spot
An order should be able to ship when awaiting return and in the returned state

Fixes #2444
Improve styling for return authorizations index
Move states.js to backend
[backend] Add ror_ringer image necessary for images_spec
Fix results parsing for variant_autocomplete
Remove usage of old cleanTaxons method in taxon_autocomplete.js.erb
Fix gem name references in frontend/Rakefile
Remove no longer necessary states_controller_spec
Mnormalize and Skeleton need to live in Core

Because they are shared by both Backend and Frontend
Fix locale controller helper test to now depend on Spree::Frontend::Config[:locale]
Remove unnecessary CountriesController
[api] States API should only return limited states when asked to

in the Admin backend + checkout frontend we *don't* want states limited to just 25 for countries, like America, which are greedy and have more than this number
[api] Add states_required value to states if country is requested
Add top-level Spree JavaScript variable for use everywhere
[frontend] Checkout now uses API to retreive (country) state information

This is then cached in a local JavaScript variable so that if they de-select a country and then re-select it, it won't make a superfluous API connection
Restrict adjustment check for promo to eligible ones in StoreController
[frontend] Clean up checkout_spec
Default the API to NOT requiring authentication

Actions where people can still modify data are protected by CanCan