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.
We might also need to add another check `@order.address?` as the original implementation did