CSV Reporting of Shopping Cart Purchases, with tests

squashing to one commit to make cherry-picking by feature possible