Refactored the cart item business logic to be more DRY and scalable. Moved it to the cart_item model. Continued cleaning up unit tests.