Cleanup Zone Editing

Fixes #3631
Address information is now only accessible through an order

This is because we need to first look up if the user has permission to view the order. If the user has the additional permission of being able to modify the order, then they should be able to modify the address too.

Fixes #3635

Conflicts:
	api/app/controllers/spree/api/addresses_controller.rb
	core/app/models/spree/ability.rb
Do not call refresh_shipment_rates on an order if it is complete

Fixes #3648
Added missing internationalization for table headers (using same table headers as in shared/_order_details)

Fixes #3656
Ransack gem dependency updated to version 1.0.0.

Fixes #3649
[sample] Only create one option value as required, not all of them all the time

Fixes #3564
No longer create duplicate roles within Spree

Fixes #3557
[backend] use 'complete?' not 'completed?' in orders_controller_spec
Fix issue where refresh_rates for a shipment wasn't being called in VERY specific circumstances

The order_details_spec in backend was failing because of the absence of this code.
Update columns using update_column, rather than update_attribute which now calls callbacks.

Calling the callbacks causes the shipments to be reset to pending because, for some reason I did not investigate, the inventory units are set to 'backordered'. Do not want.
[backend] Correct orders_controller_spec stubbing