Remove null=True on CharFields and others

Reviewed CharFields, EmailFields, TextFields, etc.

Some fields were left unaltered:
* proxy_class rely on unique=True, and that only works sensibly with
  null=True
* The same is true for Product's UPC
* Because order's Line model UPC field usually gets fed the Product's
  UPC, it's least intrusive to still allow null=True there
Subtle changes to handle '' instead of None

Tests failed on a few occasions, because CharFields were set to None or
expected to be None.
Add start and end times to vouchers
Make test_datetime timezone aware
Merge branch 'master' into issue/1068/voucher_improvements

Conflicts:
	oscar/apps/voucher/abstract_models.py
Add shipping offers as voucher options
Strip whitespace from start/end of search term

Remove whitespace from beginning and end of search term (UPC and Title)
in dashboard
Allow test cases to consider a custom Oscar user model

Most test cases only consider the default Django user model that
contains the username field. As soon as you extend Oscar's AbstractUser
model that doesn't contain a username field, tests that use
ClientTestCase or WebTestCase fail.
Remove several code paths exclusive to Django 1.4
Fix template bug in wishlist detail page
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
Fix JSON serialisation problem with AJAX basket

six.moves.map returns itertools.imap which won't serialize to JSON.
This commit unpacks the list into a normal list of strings to circumvent
the issue.
Rename AJAX helper method

The `to_json` method returns a dict, not a string!
Bump version to 0.6.2

Plus add some release notes.
remove Duplicated MultiImage variable.
Merge branch 'releases/0.6'

Merged after 0.6.2

Conflicts:
	docs/source/releases/index.rst
	oscar/__init__.py
	oscar/templates/oscar/customer/wishlists/wishlists_detail.html
	oscar/test/testcases.py
	tests/functional/dashboard/order_tests.py
Remove sandbox partner migrations

They're not required and we're committed accidentally.