Fixes #23309 -- Fix call_command to parse args correctly

Refs https://code.djangoproject.com/ticket/23309 (and https://code.djangoproject.com/ticket/23306)
I admit Django still has much code looking like that, but it should be safe to simply use `if options['empty']:` below without first pushing the result in `self`. Having the value on `self` might make sense when we want to use the value in other methods. Same for `options.get('help', False)`, as we are using the parser in both `call_command` and `run_from_argv`, we can be sure that `'help'` is in the options dictionary, so `options['help']` is fine.