Persist orders/line items; Add basic cart functionality

* Moved `Stripe.setPublishableKey` to orders.js (from view)
* Add "add item to cart" and "remove item from cart" functionality (limited)
* Persist orders to database (including line items but not address)
* Add parameters security around order, line items and shipping address
* Create product snapshot in line item before validation (and saving)
* Provide helper method for accessing line item total
* Add order to line item relationship (including accepting line items via orders)
* Calculate order total by iterating over (and summing) line item totals
* Moved Stripe charging to order model (from order controller)
* Display items in cart on order new view
* Add card token to order model (for database persistence)
* Add second mock product to seeds (for cart testing)
* Add order show page (for receipt view)