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
Filter by date range in Dasboard/Reporting, if provided
Filter different reports properly
customize FormSet class after calling inlineformset_factory

That way there's no need to know what base class inlineformset_factory
uses and it's consistent with StockRecordFormSet.
Unify __init__ method signature of formset classes

so that we can treat them all the same in ProductCreateUpdateView. Also
add user argument as that will be needed for
https://github.com/tangentlabs/django-oscar/pull/1002
Make it trivially easy to add more formsets to the product update page
Provide a hook for cross-form validation
Fix disappearing mobile menu

There's a bug in Bootstrap which affects the navbar when it's collapsed:
https://github.com/twbs/bootstrap/issues/11145
This commit fixes the issue.

Fixes #1118, #1109
Merge branch 'master' into issue/602/vagrant

Conflicts:
	.gitignore
	Makefile
Fix some Vagrant issues

* Revived the Apache config deleted in 974187
* Fixed the MySQL packages bug with a hack
* Fixed a warning about the python-dev package being duplicate

There's probably more issues with the Vagrant machine. But this is good
enough to make it to master.
Merge pull request #602 from tangentlabs/issue/602/vagrant

Vagrant: add support for testing Oscar under different servers
Add more template blocks for basket and order templates

Originally reported in #859, and contributed in #863. Because there was
merge conflicts, it seemed easier to manually add the blocks than fixing
the conflicts.

Thanks to @itbabu for the work.

Fixes #863
Merge branch 'master' into issue/83089/filter.reports.by.date

Conflicts:
	oscar/apps/dashboard/reports/views.py
Merge pull request #952 from tangentlabs/issue/83089/filter.reports.by.date

Filter by date range in Dasboard/Reporting, if provided
Reintroduce a treshold for PEP8 warnings

To avoid littering the codebase with 'Fix PEP8' commits, we've decided
to reintroduce a treshold so PEP8 fixes can be batched together.
Refactor tests to use WebTestCase instead of ClientTestsCase

ClientTestCase is deprecated.

Fixes #826
Fixes #1007
Refactor report date filtering

PEP8 warnings needed fixing anyway, so I've simplified the logic
slightly.