Bump django-reversion version to 1.8
Merge branch 'django-1.6-support' of https://github.com/learning-unlimited/ESP-Website into django-1.6-support
Store program modules in cache as ProgramModuleObj only

With Django 1.6, we can no longer hack the __class__ attribute
of a model before pickling it.  In order to allow caching of
objects that include program modules, the ProgramModuleObj
methods that return modules have been given a 'convert'
argument that determines whether the ProgramModuleObj instances
are converted to the desired subclass (e.g. AvailabilityModule)
before returning.  The conversion is handled in the new
ProgramModuleObj methods toBaseClass() and toHandlerClass().

This could potentially be fixed by converting program modules
to be proxy models rather than abstract, as Anthony mentioned
in the discussion of #618.
Fix testMorph() by using request factory
Use legacy test runner

Django 1.6 switches to Python's unittest test discovery.
This causes a lot of problems for us, and we may have to rename
lots of files (and maybe our root app directory) to satisfy its
import requirements.  So, punt this issue until later by
using the old test runner.  Django documentation says this will
be included through version 1.8.
Correct CommPanelTest call of send_email_requests()
Add default value for NavbarCategory.include_auto_links
Adjust NoVaryOnCookieTest

With Django 1.6 there is no 'Vary' header when the caching is working
correctly, so we need to account for that.
Fix error in MultihostCacheClassTest: use string keys
Fix error in ProgramHappenTest teacher reg: missing formset info
Fix entertaining ProgramHappenTest failure

A student currently in 10th grade is not in the right grade for a
program scheduled to occur in year 3001.
Update testing response 'template' attribute to 'templates'
Give Travis local_settings.py a SECRET_KEY
Fix DashboardTest errors by forcing Decimal to float
Remove migration from DBOpsTest

The syncdb command now seems to handle migration as well, so testing
the migrate command is redundant.  Also, having a separate
test function for migrate causes an error (importing 'reversion') which is
not a real bug.
Fix multihost memcached backend

Apparently, in Django 1.6 having a timeout of 0 means that the cached
value expires immediately (which it didn't before).  That is not what
we want.
Fix some of the errors in Ajax scheduling backend tests

The tests were written when the change log was stored in memory.
Since then, the system has changed so that the change log is stored
in the database (AJAXChangeLog model) and is now accessed by index
rather than by time (see 04f6854).  This commit updates the tests to
match the new change log scheme.