Fixes incorrect order.item_total when line items have multiple currencies

Provides protection against order/line_item currency mismatch
Move currency update logic into it's own concern.
Bump the master branch to 2.3.0.beta
bump factory_girl to 4.4
Use OJ for faster JSON rendering
[api] Make products/index return unique products

It seems obvious in retrospect.
Show deleted shipping methods for shipping rates

Fixes #4328
Bump to 2.3.0.beta
Remove unused api/lib/spree/api/version.rb
Bump Paperclip to 4.1.1
Need to pass through a content-type when using upload_image to appease paperclip
Fixes #4304 - RABL cache collision for variants

This uses string prefixes within each variant template to ensure unique cache keys and guarantees no collisions.

Fixes #4308
payment_method_spec: avoid INSERT in before(:all)

This before(:all) block (which is outside of the database transaction
that specs are run in) was creating four payment methods which caused
order_spec to fail occasionally.

This changes it to a normal before block.

Fixes #4372
Give variants big/small templates better names

This also fixes an issue introduced by 5f5201031195b21510cb2b7090dc46aab31c3a8a, where rabl_cache_spec was expecting stock_items to be empty, but was actually seeing them
Don't assert that find is called in ShippingMethodsController spec

We only care that it returns the object we want, not that it's called

This has the added side-effect of fixing the failing tests
fix _taxonomies.html.erb cache key

Fixes #4390
Update to support new Universal Analytics

This change is backwards compatible and supports the new ga universal analytics site property id. GA sets this to the base domain name minus www. https://developers.google.com/analytics/devguides/collection/upgrade/?hl=en_US

Fixes #4389
Explicitly pass a token through on taxonomy API requests
Switch to poltergeist for spree_backend.

Fixes #4383
Whitelist some params for canonical links. Fixes #4374