Put back charging of default card for unreturned exchange
Only charge for unreturned exchanges when the new item is in the shipped state.

* In the case when the customer returns the new item, we don't want to
charge them for changing their mind.
* In the case when the shipment was caught on its way out and is still
'on hand', but the customer has not received inventory, we don't want
to charge them for our internal mistakenly placed shipment.
Validate line item's stock availabilty on complete! rather than all the time