Here's the background.  Middleware is not invoked for django commands.  So this PR is an effort to do the equivalent of what middleware is doing.  And where middleware was adding all GET and POST properties as part of a server_track call, I was trying to create a parallel call for management command calls that would dump all options.  Where middleware obfuscates passwords, so does the TrackedCommand.  

The trade-off of using such a general solution is that one doesn't get to choose what to include and what to exclude.  It's easy to enumerate the general arguments to commands, like pythonpath, settings, verbosity, traceback, stderr, stdout, and this removes some of the clutter as well as some of the operational details.  But if we want to know the course argument passed, then we either need to dump options or write more explicit code in the create_user class.  

That said, note that if the create_user call does pass a course argument, the relevant info shows up in the event:

       "event": {
            "course_id": "edX/Open_DemoX/edx_demo_course",
            "user_id": 29,
            "mode": "verified"
        },