Add endpoint to retrieve a current user's orders in the API.

Returns 401 if the user is anonymous.

Fixes #4022
remove the whole admin order #show redirect and go to edit instead.

Fixes #4015
Ensure payment_state is *really* set to credit_owed when an order is cancelled

Fixes #3711
avoid blank fields on stock management + images screens when variant has no SKU

Fixes #3979
Fixes #3650
Address Persist based on the work by @huoxito here #a72608308e912b504289b4c9e30740b82dcee8f1
add changelog entries

Fixes #4028
Add inverse_of to product variant associations

Fixes #4031
added autocomplete off HTML5 tag to mail method settings for username and password

Fixes #4036
stock_movements helper fix for stock_transfer

Fixes #4037
Only restock on_hand inventory units

Example: Spree restocks items once you cancel an order. However it
shouldn't add stock (restock) items from backordered inventory units.
Restock items but dont process backorders for canceled orders

Fixes possible issue where canceling an order with backordered inventory
units would make other orders inventory transition from backordered to
on_hand. e.g.

    - create two separate orders of the same item at the same stock location
    - both orders will have shipment state of backorder
    - cancel one of the orders
    - the second order inventory will transition from backorder to ready

Now the second order inventory remains backorder
Downcase inventory unit state in manifest partial
Only showing unique order records if searching on attributes of associated models like bill_address or line_items

Fixes #3919
Only respond with js if .xhr? is true

Prevents user private data leak for GET requests from other domains
See discussion on rails-core mailing list
https://groups.google.com/forum/#!topic/rubyonrails-core/rwzM8MKJbKU
Remove duplicated product method
Fix frontend features locale_spec

It failed with:

     ActionView::Template::Error:
       undefined method `content_tag' for Spree:Module

Probably due to recent changes in rails i18n api related to the security
patch in 4.0.2, see https://groups.google.com/forum/#!topic/ruby-security-ann/pLrh6DUw998
and https://github.com/rails/rails/commit/78790e4bceedc632cb40f9597792d7e27234138a
multi_currency is not supported out of the box, so to make the sandbox work with the EU_VAT zone, it has to be in USD.

Fixes #3986
Fixes #3987
[backend] Added "Risk Analysis" section to the order page

Will check AVS+CVV responses to validate if orders are "risky" or not

Fixes #4021
listing_spec: use active_support date functions

This could fail if run in the evening when running specs in timezones
with negative offsets.

Using Time.current and Date.current ensures values entered are in UTC.

Fixes #4038 AND probably the CI build.
Use single quotes in Order#is_risky, as double quotes are interpreted by PostgreSQL as meaning a column name, not a value