Fix build specs and split shipment edit button [Fixes #3167]

They were mostly failing due to a js error and shiping labels
Ensure correct classes on stateSelect, stateInput elements in address
spec

Fixes #3165
[api] Return attachment URLs using the avaialble styles

This is so an API endpoint can render all the styles of an image, not just the Big One.
[api] Add CHANGELOG entries for products+images API changes
Cache product API responses for 3 minutes to make things like Backbone cache them
Add spot in spree application where JS templates can be yielded to

By default, this does nothing.
[api] Use order.contents.add() when updating line items

For example, when an order has a line item with variant_id=3 and quantity=1, when a line item parameter comes into this action with the same variant id, it should increase that line item's quantity, rather than creating a new line item
[api] Return display_item_total in orders/show
[api] Use real world example for line_items_attributes in OrdersController#update action
Ensure quantity is an integer before passing it to self.contents.add in Order#update_line_items
[api] Ensure total_quantity and display_item_total are available on orders/index and orders/show
[api] Expire taxonomies_controller#index in 3 minutes
Fix variant thumbnails not showing on frontend

The thumbnails for variant would not show on variant click. And the
product page opened without any visible thumbnails.

Fixes #3130
[api] Remove caching of products (index+show) + taxonomies (index) actions
Return Cache-Control headers for all API requests
Correct engine path.
add user_id index to spree_orders [Fixes #3186]
Remove create_inventory_units preference that is no longer used.
When adding a variant to a RMA, do not mark the inventory unit as received until the RMA has been marked as received.

[Fixes #3121]
[Fixes #3180]
[api] Skip set_expiry before_filter for states controller.

Ensure that swapping state input/select works in all contexts:

Set the default country to one without associated states so that
the spec verifies that if the selected country changes from without
associated states to one that does have them, we get the required
behaviour (the select is not hidden). Previously the spec only test
switching between two countries with associated states in teh db.

Fixes #3185