(WIP) Cdodge/ecommerce improvements

I'm not convinced that `student.models` is the best place for this model. I feel like it belongs more in the `shoppingcart` or something like that.