[api] Ensure shipping methods, shipping rates and zones are returned correctly when an order is in delivery state
[api] Don't cache config stuff... for now

In my testing of spree-marionette I was coming across a bug where there were no preferences stored in the database (which is weird, yes), and so I'm removing this caching to account for that until I can find out why that's happening.
Don't update shipping addr if use billing addr is checked

By running updateState() on shipping address form we enable those
fields and need to propagate changes from billing address to shipping
address when we shouldn't because they're already propagated server
side. We should only run updateState() on shipping form if use billing
address is not checked

Fixes #3232
Fixes #3245
Use stock_location's country for stock_location's state in stock_location factory

This is so that it doesn't create a new country and associate the state with that.
[api] Fix CheckoutController spec and ensure that selected shipping method is really selected
Pass a variant id as the variant_id parameter when creating inventory units in the Shipment factory.

This only took me 20 minutes to figure out. I am not a smart man.
Only create a state for a factory'd stock_location if the country doesn't already have one
replace ids/names for select boxes as well

Fixes #3236
Upgrade jquery-rails to ~> 3.0.0

Fixes #3217
Added Spree::Adjustment#return_authorization scope

Fixes #3239
Display default product image when variants have none

Account for scenarios where a product has variants but they don't have
any images. In that case when displaying a variant we should check if
the product master variant doesn't have an image before displaying a
noimage file.

Fixes #3172
Fixes #3240
Added credit owed state and added awaiting return and returned states to styles

Fixes #3258
Log CVV response messages on payments

Fixes #3266
Fixing the problem with translate with relative path.

This commit fix #3176 and add #translate method to Spree module.

To fix this issue, was necessary adding a monkey patch to initialize
the i18n after load the spree base controller.

Also, I changed the method #t. Now this method is an alias to #translate.

In my concept, we need to follow the same convention of i18n and
translation helpers of rails.

So, the developers can use #t and #translate without any problems.

Fixes #3257
Fixes #3176
Not all promotions respond_to :products

Fixes #3265
Fixes #3261
[frontend] Really check for flash[:error] in orders_controller_spec, rather than setting it

Fixes #3259
[frontend] Shipping rates should use Spree::Money, not number_to_currency, to display correct amounts on delivery screen

Fixes #3246
Always downcase promo code on promo.activate [Fixes #3272]

Old spree databases might have promo codes with mixed cases which would
make coupon codes case sensitive

e.g. "nocode" == "noCode" ("nocode" entered by user would be invalid)
allow shipping address with country or state attributes when creating
orders through the api
Only create promo items if order is eligible

Add a doc block to CreateLineItem.perform block to explain why it's not
suitable for Add to Cart events and explained another possible caveat

[Fixes #3275]