Use reversion to handle QSD.

This means that rather than creating a new QSD instance each time a model object is updated, they will be handled by django-reversion and will be visible in the history from the admin area.

This commit also makes QSD instances searchable by the URL from the admin area, because this functionality is useful now.
Add migration for QSD reversion to call createinitialreversions.
Use load_cur_user_time to correctly set current date on edit.
Alter migration to automatically create reversions.

Currently this does not set the date time of the reversion itself, although it does set the date_time attribute in the QuasiStaticData instance which is also versioned. Since the reversion's date time is the one displayed in the admin panel, optimally this would be set by the migration.
Some fixes to the QSD reversion migration.
Fix backwards migration.
Add reversion dependency in qsd reversion migration

This is needed to run the test suite.  (The django-reversion app itself
uses South migrations for its tables.)
Merge pull request #709 from learning-unlimited/qsdreversion

Use reversion to handle QSD.