Tidy up with_property and with_property_value scope code
don't access Spree::Config[:site_url] at startup

Fixes #4421
Fix duplication of spree option values when product is cloned

Fixes #4420
Fixes #4417
[api] Attempt authorization for an order if an order token is passed

This stops the 'You must specify an API key' error message from (incorrectly) appearing. That message is now supressed if an order token is passed in.

When an order token is passed, the authorize_for_order filter is called, which attempts to find an order and then compares the order's token with the order token from params/headers
Fill in order history and items purchased of skeleton user admin view
Add lifetime value to admin user view
Support nested attributes for bill and ship address
Better handling of no-order cases for user value calculations
Move user overrides into a module in core
WIP: Move admin users controller over from spree_auth_devise