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
Fix product class admin

Slug fields need handling differently now that they are auto-slugfields.

Fixes #1233
Add echo statements to transifex script to aid debugging

It doesn't seem to be pushing successfully at the moment.
Transifex update
Fix travis transifex script

Required installing the client and skipping any syntax errors.
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.