Fixed #19973 -- Replaced optparse by argparse in management commands

Thanks Tim Graham for the review.
Documented optparse to argparse changes for management commands
Converted test management command to argparse

Keeping backwards compatibility with test_runner.option_list is
tricky and would imply transforming an optparse.Option to an
argparse.Action. I choose to introduce a backwards incompatible
change because it only affects testing, not runtime behavior.
Converted remaining management commands to argparse