Shopping cart - Iteration 2

In this second iteration, I made the changes suggested in the review for Iteration 1. The major changes are the following:

1. Asserting the total cost of the items in the shopping cart throughout my Features.
2. Using scenario outlines for `coupon.feature` and `shipping_estimate.feature`.
3. Testing edge cases throughout (ie, adding more than one coupon; adding items now out of stock, multiple products in cart, etc).

Thanks!
You'll want to use integers in these tests.  What if there are 4 hammers in stock, and you try to add 5?