Refactored how preferences are fetched from the preference store, as
current approach was resulting in db queries for each use of a
preference using its default value (which happens a lot with the new
currency preferences,etc). This approach mainly ensures that the default
values are written to the cache, after the database is checked once.
Ensure defaults preferences are returned when persistance is disable for default perference store
Remove debugger
Update core/app/views/spree/shared/_google_analytics.html.erb

If an error occurs during the final page of the checkout  - order_path(@order), this leaves the flash[:commerce_tracking] set. So when the user goes back to the home page or any subsequent page, the pages will throw an nil exception on <%= @order.number %> because the framework sees that the flash[:commerce_tracking] hasn't been cleared.

The fix is to also check that @order is present.

Fixes #2287
Fix issue where product properties page was not displaying due to missing route

Fixes #2279
Use order walkthrough in double clicking buttons test in checkout_spec to fix tests
Use Order Walkthrough to fix 'defaults to use billing address' test within checkout_spec

Conflicts:

	core/spec/requests/checkout_spec.rb
Ensure defaults preferences are returned when persistance is disable for default perference store
Remove debugger
Correct 'Edit' clicking within products/properties_spec
Bump selenium-webdriver version
Delete 'use_billing' tests from checkout_spec

This is because in this branch, the changes are not in place for this to happen. It's only within 1-3-stable and master branches.
Add patience to option_types_spec test
Add patience to product/properties_spec
Add better 'out of stock' error message

Fixes #1821
API for inventory_units (show & update), fire state transitions
return 422 for API processing exceptions
Fix incorrect shipment calculation

This issue exists for orders that split up their shipments over two or more shipments.

What happens is that when a shipment is created for a single line item,
the price of that shipment is x. The second time a shipment is created,
for a different line item for the same order, that second shipment's price
 is also x, but the first shipment's price is set to
<shipping cost>*<line items count>, due to the automatic adjustment
updating for an order.

To fix this, we lock the adjustment for any 'calculated adjustment', so
that it may not change once it has been calculated. An admin *may*
choose to override the amount in the interface after the fact.

Fixes #1606
Add missing equal sign for admin_shipping_method_form_availability_fields

Fixes #2310
Use correct key for datepicker translation