Add UserCancelled Exception

During many payment flows, the user is able to cancel the process.
This should often be treated differently from a payment error,
e.g. it might not be appropriate to offer to retry the payment.

This exception adds gives us a good way to address that case.

Closes #1528.
Use template egg loader when running the test suite

We wrongly had django-tables2 in the requirements.txt; it was removed
from 4af10d9. This means it was now only installed as an egg. As the
test suite relies on a template from tables2, the test suite
consequently was failing.
Adding the egg loader to the test suite config fixes the problem.
Remove accidentally committed files

From 4af10d9acdbc93bd2aed8375ae26d9fd75d3aa05
Update getting_started.rst

It's necessary to add South before running migrate to successfully
create the database.

Cherry-picked by @maikhoepfel from #1545.
Mark Oscar as a universal wheel

Starting with 0.8, we'll also upload a wheel to PyPi. The setup.cfg file
marks it as being compatible with both Python 2 and 3 at the same time.
Extend oscar_fork_app command to handle dashboard apps

This gets quite fiddly since dashboard apps aren't identified by a
single app label. We need to special-case them in a few places.