A change was made recently to spree for multi-currency.

The copy_price method used to return the price:
https://github.com/spree/spree/commit/58ec5cd5124e66c60811a075b290248962159f9e#L12L27

but it no longer does, so we must not rely on its return value in our 'overridden' method.

The tests are currently failing (before my request), but this fixes several. 

I'm requesting a thorough review of my changes just to be safe as I'm not sure that some of the existing code was necessary/correct.

Also, please cherry pick to master as well