add discount_percent to Cart
rename cart_products_id in Cart::Product to id
add discount code to Cart::Product
lots of new cost tests