Introduce `persist_order_address` message for user

This would be resposible for associating the current order address with
the current user so that next time users checkout an order his previous
address would be automatically loaded

Conflicts:
	frontend/app/controllers/spree/checkout_controller.rb
Add basic module for persisting order address on user

To make Spree remember user address on checkout users could include this
module to their Spree.user_class or build their own implementation of
`persist_order_address`
Allow users to choose whether they want to save their addresses
Replace spree_current_user for try_spree_current_user

As that's what the core provides. This should fix the errors in frontend
build
Persist address ids on UserAddress module

Otherwise addresses would not be associated with the user at all

Conflicts:
	core/CHANGELOG.md
	frontend/CHANGELOG.md
Fix currency used in test to not cause a spec failure
Refactor Spree::ProductHelper#variant_price_diff

* Change the logic of the code to make it easier for the next
  commit.
* Remove duplicate code from the HTML generation.
Change #variant_price_diff to handle when the product amount is nil