Update management commands to work on newer versions of Django.

Review Request #8742 — Created Feb. 13, 2017 and submitted — Latest diff uploaded

Information

Django Evolution
master
b2396f0...

Reviewers

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.