Use six version from Django

Using standalone version causes issues. Fixes #1200
Merge pull request #1200 from tangentlabs/issue/1200_six

add_metaclass breaks Django 1.6 compatibilty
Increase required version of django-haystack

Django-haystack==2.0.0 breaks update_index.
Allow disabling redirecting when using old product or category URL

It is hard to re-use the category view or product view when there's more
than one valid URL per product/category. E.g. for my site, categories
are accessible under /<brand>/<model>/<category>/.

A global setting wasn't introduced because I assume that when one
requires trickery as above, it's likely that the view has to overridden
anyway.
Changes around six usage

Discussion around #1200 highlighted that we must be aware of differences
between the versions of six that Django ships and the one we use.

In general, the external version of six is the best choice for Oscar,
because it allows to depend on a specific version of six. The multiple
Django versions we support each come with different versions of six,
which makes it unattractive to depend on them.

When interfacing directly with Django, it should be decided on a
case-by-case basis if it's more appropriate to use Django's supplied
version of six or the external one.

In the case of the UppercaseCharField, Django clearly documents what
needs to be done to get it to work with both Python 2 and 3 in
https://docs.djangoproject.com/en/1.6/howto/custom-model-fields/#the-subfieldbase-metaclass
Those instructions are the same for all versions of Django we support.
Hence it's been decided that it's best to switch to Django's recommended
way of declaring the metaclass, and using Django's version of six for
it.
Merge branch 'product-class-use-slug-in-URL' into machtfit

* branch product-class-use-slug-in-URL:
  Use slug instead of id for product_class in URL

https://github.com/tangentlabs/django-oscar/pull/1123
discussion pending
Merge branch 'support-dynamic-formsets' into machtfit

* branch support-dynamic-formsets:
  Limit widget initialization to a provided scope.
  Add widgets only to visible elements.
  Put all widget initialization code in one function.

https://github.com/tangentlabs/django-oscar/pull/1190
Merge branch 'fix-css' into machtfit

* branch fix-css:
  Update bootstrap CSS to 2.3.1.
  Don't affect nested table rows

https://github.com/tangentlabs/django-oscar/pull/1191
Merge branch 'django-tables2' into machtfit

* branch django-tables2:
  Move table caption into <table><caption>
  Keep current tab and ordering when returning to the list after editing
  Move the dashboard product list to django-tables2

Conflicts:
	oscar/static/oscar/css/dashboard.css
	oscar/static/oscar/less/dashboard.less
Bump version.