Remove custom code from admin.py's

Django's admin interface is not supported; the Oscar dashboard should be
used. It is still provided with the sandbox because it is convenient for
developers, but any code that goes beyond basic ModelAdmin syntax is a
maintenance burden.

Closes #1215.
Remove dependency on six library

We only needed it because Django 1.4 shipped with a pretty old version
of six. Support for that has been removed, and Django 1.5 ships with six
1.6.1, which is more current than we required.

This nicely avoids an issue with django-extra-views pinning a six
version which caused the sandbox build to fail:
https://travis-ci.org/tangentlabs/django-oscar/jobs/32223978#L971
Clarify that offer conditions need to be proxied

Similarily to benefits, conditions either need a custom proxy class or
have a type, range and value defined. This wasn't clear from the
documentation and the fact that the proxy() method happily returned
self.

This was raised in #1401.
Limit django-extra-views and haystack range

* django-extra-views 0.6.5 added a pinned version of six, which causes
  issues with other dependencies that install a different version. A fix
  is already on master, but it's easier to limit the range for now.
* Haystack 2.2.0 was released and looks safe to use with Oscar. I'll
  allow that for now, but in general we should probably limit the amount
  of versions we support.
Explain why we can't move Abstract[Shipping|Billing]Address

Technically, they belong into the order app, and AbstractPartnerAddress
belongs into the partner app. I think they're in there because
AbstractUserAddress depends on AbstractShippingAddress. And maybe also
because trying to move them creates a rabbit hole of circular import
issues, which is why I gave up.