created a smarter cart with error handling
finished the cart
playtime: added new migration for copying prices
playtime: tests
Merge branch 'chapter10_smarter_cart'