Adds logic to swap items in cart on currency change

Actually its same code as it was pushed on 2-2-stable branch here: 977f9eb46455a943f4ce49de8cc4d6ea88f3bfce .
Surprisingly it works on 2-1-stable!