Fixes incorrect order.item_total when line items have multiple currencies

Provides protection against order/line_item currency mismatch
Move currency update logic into it's own concern.