Add nginx reverse proxy to apache in Vagrant VM

Accessible at port 9001.
Add gunicorn to Vagrant VM
Automatically start dev server in Vagrant VM
Docs: Explain changes to Vagrant VM
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.
Filter by date range in Dasboard/Reporting, if provided
Filter different reports properly
Fix custom_range bugs with ugettext_lazy in custom range object name,
and unique fields error when creating existing custom ranges.
Fix for delegate of num_products to a proxy class as documented.
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 down votes to create correct vote type

Previously, everything was turned into an up-vote.

Fixes #1112
Restructure vote form

We now pass required dependencies to the construtor rather than
assigning them to the instance kwarg.  See the following gist for a more
in-depth discussion of this topic:
https://gist.github.com/codeinthehole/6178034

Related to #1112
Correct order retrieval within ThankYouView

Using wrong kwarg.

Fixes #1110
Ensure model-based shipping methods have is_tax_known property

They were missing it after the recent refactoring of shipping methods.

Fixes #1096
Ensure custom range names are text

Rather than forcing text, it's better to raise an error when a uggettext
proxy is used for the range name as this won't save correctly in the
database.

Related to #1053