##### SUMMARY
This is largely a feature necessary for ansible-runner and Tower, but as of now, to respond to password prompts, runner uses `pexpect`.  

`pexpect` comes with its own host of issues, like the fact that even after you've matched the prompt and sent the response, it still buffers the output for the remainder of execution and adds extra overhead that is unnecessary.

Investigate enabling a way via named pipe, or some other potential ideas, to supply these passwords, other than prompting, or supplying inventory vars.  Providing vars exposes them, and there may be use cases to provide them in a way that the playbook doesn't necessarily have access to.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
lib/ansible/cli

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

<!--- HINT: You can also paste gist.github.com links for larger files -->

"""Process the command line args
        Subclasses need to implement this method.  This method validates and transforms the command
        line arguments.  It can be used to check whether conflicting values were given, whether filenames
        exist, etc.
        An implementation will look something like this::
            def post_process_args(self, options):
                options = super(MyCLI, self).post_process_args(options)
                if options.addition and options.subtraction:
                    raise AnsibleOptionsError('Only one of --addition and --subtraction can be specified')
                if isinstance(options.listofhosts, string_types):
                    options.listofhosts = string_types.split(',')
                return options
        """
        
        if hasattr(options, 'tags') and not options.tags:
            
            
            
            
            options.tags = ['all']
        if hasattr(options, 'tags') and options.tags:
            tags = set()
            for tag_set in options.tags:
                for tag in tag_set.split(u','):