Indentation
Rework how shipping discounts are passed around

This solves an issue when there is a shipping discount, but the shipping
method is not wrapped in an OfferDiscount instance (causing an
AttributeError on get_discount).  The fix adds support for discounts on
the parent object so that we're no longer in violation of the Liskov
subsitution principle (kind of).
Add details of demo site to README