Start of cart implementation

A cart is an object with:

* a running total price
* an object hash of productId <-> quantity
Restructured cart and product services to feel more like a standard $http resource.
Changed cart service to return an object hash.

Keys: product IDs
Values: quantity in cart

It doesn't follow the more traditional REST resource list ideology, but it's a LOT easier to work with.
Cart and product implementation cleanup
Fixed tests to reflect changes