Update management commands to work on newer versions of Django.
Review Request #8742 — Created Feb. 13, 2017 and submitted — Latest diff uploaded
Modern versions of Django require some changes for management commands. For instance, ArgumentParser is used instead of OptionParser, and options can't be defined directly on the class. Django Evolution needs to support versions of Django prior to these changes. In order to do that, we now have a new base class for management commands that allows subclasses to adhere to the new requirements while also providing backwards-compatibility for older versions of Django. All common types of options are supported. This brings us a step closer to supporting Django 1.10.
Unit tests pass.
Tested the management commands on Django 1.6 through 1.10.
Tested Djblets against these changes on Django 1.6 through 1.10.