Update the management commands to be compatible with Django 1.6+.
Review Request #8680 — Created Jan. 30, 2017 and submitted — Latest diff uploaded
Newer versions of Django switched to using ArgumentParser instead of OptionParser for arguments to management commands, and got rid of NoArgsCommand. While ArgumentParser and OptionParser are fairly compatible for most things, the changes to how options are registered in Django management commands were fairly extensive, making it harder to keep compatibility with both. This change introduces a compatibility class for management commands that allows the commands to code for the new style of argument registration, while providing compatibility with the OptionParsers used in Django 1.6. This can be used by projects that need to keep compatibility between the two. The management commands that ship with Djblets have been updated to use the new class and new style of argument registration.
Tested each command on Django 1.6, 1.8, and 1.10.