Adjust syntax for Python 3.
Add compatibility for __str__/__unicode__ methods.
Add compatibility for dict methods.
Add compatibility for the unicode builtin.
Add compatible imports for Python 3.
Python 3 doesn't have contextlib.nested.
Use force_text to obtain unicode values.
Exceptions don't have a 'message' attribute on Python 3.
Merge branch 'aaugustin-master'
Fix failing test by expecting newly introduced exception

241a710 introduced a new InvalidBasket exception; but the test suite
still expected the old exception. Switching to the new exception fixes
that.
Add countries fixture removed in Oscar

This fixture was removed in Oscar, but the easiest way to get the tests
to pass is to bundle it with this extension again.
Adapt to shipping changes in Oscar 0.8

Shipping has been refactored for Oscar 0.8, but luckily the
necessary changes are reasonably small.
Drop unused South to ease testing against Django 1.7

The extension does not ship with migrations, so there's no need for it.
Makes it easier to test against Django 1.7.
Test against more versions of Django and Python

.travis.yml and tox.ini are nicked from django-oscar-datacash, but for
this project, I needed to append #egg=Django to get the correct Django
version to install.
Bump version to 0.9.1