[#82417004] refactor Cart

Inspired by http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/. Improved our Code Climate score!

https://codeclimate.com/github/18F/C2/compare/refactor-cart