cache eligible_products result
removed print stmt
updated to work with latest django-shop 0.0.10\n\nDiscountBase is subclass of BaseCartModifier, subclasses implement get_extra_cart_item_price_field and get_extra_cart_price_field instead process_cart_item and process_cart methods
merged cache eligible_products result conflict
move concrete discount subclasses into separate app
use get_model_string to reference Cart model
Redirect to ``checkout_selection`` urlname after adding/deleteing
discount code.
Update tests to use default_discounts app.
Merge branch 'separate-discounts'
Use relative imports.
Set app_label for default_discounts models
Set app_label for example model.
Add shop.addressmodel app to example project.
Update cart.html template in example project.
Update sample_data.json.

use natural keys
Work on DiscountBase

Add get_products method

Add documentation
Move default discounts logic into mixins.
Fix BulkDiscount in example
Move managers to own module.
Documentation update.