Associate a user’s shipping and billing addresses with their order when checking out

This pull request allows persisting user addresses from an order in both frontend and api.  The persist_user_address method previously in frontend was moved to a core controller helper so that we can leverage this same functionality from the api.  In addition, we enable auto-applying a user's shipping and billing addresses to a new order through the api to prevent users from having to re-enter this information every time they checkout.
I don't think we should to change the implementation of this method. Instead we should only link the existing user address to the order addresses on the customer details page in backend. Same approach used on frontend here https://github.com/spree/spree/blob/abe07f4dc0c4b5cb48d22ea9355568da245ffa23/frontend/app/controllers/spree/checkout_controller.rb#L111