Call signal receivers from models.py (not __init__.py)

This reverts fa1f8403 which moved them from models.py to __init__.py.
As reported by @mvantellingen, importing receivers from __init__.py
breaks the way models are normally overridden as it causes the core
models.py to get imported before the custom one.

We need to move back to the old system and will need to advise that the
debug toolbar needs to be set-up explicitly to avoid circular import
issues with models.

Fixes #1159
Original issue #1125
Handle group products when extracting price for search backend

Previously, the `prepare_price` method only considered standalong
products.  This changes adds handling for groups.

Fixes #1157
Use Oscar's AbstractUser model for the test suite

Previously, the test suite ran with a custom user model for Django >=
1.5, but it didn't subclass Oscar's AbstractUser.  This commit adjusts
the custom user model to subclass Oscar's so we can test functionality
within the custom user class.

This does require a change to the way tests authenticate as we don't
actually use the username field.
Adjust import of `StockAlert` to avoid circular reference

We now use the related manager to access the model class rather than
importing at runtime which causes a circular reference.

Fixes issues reported in comments of #1127
Bump version to 0.6.2

Plus add some release notes.
[Backport] Mark more strings translatable

Fixes #1171

(cherry picked from commit 0a72bf27c93322a10afbda602e87935438272552)
[Backport] Correct handling of offer creation without a range

The workaround for JSON serialisation introduced a bug that was
triggered when the offer contained no range, which is allowed for
certain offer types. In that case range is None, and accessing range.id
threw an error.

Fixes #1167. Thanks to @izidormatusov for reporting.

(cherry picked from commit 1e85821d85068c71d7d5b959fce743f1b7bfe248)
Fix issue with custom user model in order migration
Support arbitrary number of permission lists.