Remove difference between _import_oscar_module and _import_local_module

If an oscar module fails, it should equally be reported instead of being silenced.
For example, an the Oscar module could import an overwritten class that fails.
Further document and clarify get_classes

Camp site rule, leave things tidier than you found them!
Add a new recipe: How to customise a mixin and add links to it.

The new recipe has a working example on customizing the behaviour Oscar
does when a customer places a successful order.
Merge pull request #1279 from mmardini/upstream

Add a new recipe: How to customise a mixin and add links to it.
Partner views now use get_class to load User forms

These forms can now be overridden in the local app which is handy

Fixes #1273.
Allow chaining of Product's custom querysets

This aligns the implementation of Oscar specific QuerySet Methods with
the implementation in current django core[1].
While this is not DRY, it does deliver on chainability and can be seen
as preparation to take advantage of the improvements coming to this part
of django in 1.7 [2]

The original motivation for this was that using a custom QuerySet while
trying not to copy code from oscar felt too hard.

[1] https://github.com/django/django/blob/1.6.2/django/db/models/manager.py#L123
[2] https://docs.djangoproject.com/en/dev/releases/1.7/#calling-custom-queryset-methods-from-the-manager

Fixes #1278.

Deprecation comments added by @maikhoepfel
Images: Check ordering before order_by() to reduce queries

I introduced a regression in d45b201b where applying order_by() would
bust the prefetching done by ProductManager, resulting in way too many
queries on e.g. a product list page.

This can be avoided by only applying order_by if necessary.
Merge branch 'master' of https://github.com/tangentlabs/django-oscar into feature/demo-multipayment-with-faceted-catalogue