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
Add OSCAR_HOMEPAGE setting

Allow using a different app than promotions as the homepage view.
Fix the select_related() call in Basket.all_lines()

product__stockrecord doesn't exist anymore, use the stockrecord on the
basket line
Provide contextual markers

Fixes #1239
Merge pull request #846 from tangentlabs/issue/846-no-promotions-needed

Make it easy to not use promotions app
Correctly handle multiple wishlists

Previously, the 'key' kwarg was not respected and all products would get
added to the first wishlist.

Thanks to @DanielChu for reporting, and supplying a fix.
Fixes #1216
Rename partner.utils to partner.importers, and comments

It only contains importers. Also added comments about their usage,
or lack thereof.
Don't init select2/wysiwyg widgets outside of el

This wasn't done previously because I didn't know how.
Init invisible widgets as well.

To prevent initialization use class no-widget-init on the element itself or any parent element.

Fixes #1210.
Raw HTML textarea shouldn't be wysiwyg'd

Fixes #1211.
Move demo site importer and commands into Partner app

That way, they aren't left to rot in the bigbang app. Gives us one
central place to refactor them.

Fixes #1238