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
Remove several code paths exclusive to Django 1.4
 Make product classes manageable within the dashboard closes #1094
Disallow deletion of product classes with products. ‘Class’ changed to ‘Type’ in UI.
Fix whitespace and line length
Handle cookies that contain strings

We have a broken "NING/1.0" bot crawling our customer's site that sends a quoted string here that deserializes to a unicode object.
Fix links for other GitHub repos in the docs
Merge pull request #1229 from patrys/patch-1

Handle cookies that contain strings
Merge pull request #1230 from grakic/patch-4

Fix links for other GitHub repos in the docs
Ensure "active" offers exclude those that are suspended

This required extending the offer factories to support setting the
start- and end-dates (looking forward to using FactoryBoy now).  Some
additional tests were added for the active manager.

Fixes #1128
Handle naive datetimes in offer message filtering fns
Remove autoslug fields from admin classes

They fail on the autodiscover call.
Ensure change password page requires authentication

Fixes #1231
Fix misprint in commit f56226a.
Merge pull request #1235 from vovanbo/fix/misprint-in-f56226a

Fix misprint in commit f56226a