[backend] Added eager loading for variant + product to stock movements/index
[backend] Link to a shipment's order in stock_movements/index view
[api] Add eager loading for option values + option types to stock items
[api] include option_type presentation within option_value_attributes
[backend] More clearly differentiate select2 result elements
[backend] Split variants/_autocomplete into two templates which can be used independently
Do-over "Add Stock Movement" form

If there are a large number of stock items for this stock location, the page can take some seconds to load, as mentioned in this thread:

https://groups.google.com/forum/#!topic/spree-user/nu0_NlNGPV8

To make that stop being a problem, I've switched that UI to using select2 to load stock items 50 at a time. I've also imporved the UI to show more information about the product, such as its SKU and its options text.
[backend] Include options text when displaying variants on the stock movements page
FreeShipping promotion action should blow up if it can't create an adjustment
Free Shipping test actually works with 2 shipments; thus 2 adjustments
Add more strict dependencies

Using ">= 1.0.0" is likely to give us trouble any time a dependency
releases a major version
Remove append_view_path from api ControllerSetup

That line was preventing us from overriding templates within other
application or extensions

Fixes #3450
Shipments need to check if they can get rates

before trying to get them, a private method
has been added to check if the shipment is ready
to get rates, currently it only checks if the order
has set a shipping_address, if theres custom business
logic for a specific store this is what they should
be customising instead of the refresh_rates call
which is already getting too complicated by itself.

Added tests for this and had to include a before call
to stub this same call in order for the other tests to pass.

fixes #3848
fixes #3849
Simplify `can_get_rates?` in Shipment