Remove LineItem#ensure_proper_currency

There were no tests for this, and it's actually broken because 't' is not a method. The correct method would be I18n.t. Double the usual amount of reasons to get rid of code.
Comment out Stock::AvailabilityValidator due to massive headaches
Move activation of cart promotions into its own method for order contents

Also: remove tests for other pieces of functionality. We don't care that order totals or whatever are updated here. Just that the things that THIS CLASS are responsible for get done in a timely manner.
No longer care of order total is updated when PromotionHandler::Coupon does its thing
Do not use order.contents to skip automatic application of cart promotion

I'm pretty sure we didn't mean for that to be a side-effect
Remove unnecessary check for order.total

Remember: we're testing things that THIS class does, and nothing else
Operate using in-memory Order+Shipment objects in PromotionHandler::Coupon and friends
Remove test at the end of coupon_spec that was testing basically the entire world