Hmmm, this turned out to be a monster commit. This change allows the
basket to be able to correctly calculate prices including tax.
It also requires a whole load of test changes since all baskets now
require a strategy instance to be assigned.
This allows updating code in both places, if necessary. Getting Django
1.5 support would be painful otherwise. This also removes the circular
dependency of django-oscar-testsupport on Oscar.
The requirements were merged. The imports were updated
accordingly. Unused imports in the touched files were removed. No
further changes.
Consumption now sorts the basket lines in descending price order so that
the most expensive products are consumed first. This means that
multibuys apply in a more natural way.
Fixes #348
This is a major clean-up of offers, tidying up the implementations and
rewriting the test suite. This should also clean up some edge cases
around the use of max_affected_items.