##### SUMMARY
<!--- Explain the problem briefly below -->
The settings in `ANSIBLE_SSH_ARGS` are not applied to any host created with `add_host` resulting in incorrect connection to those hosts.
##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
`lib/ansible/plugins/connection/ssh.py`
##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.11.0.dev0
  config file = /Users/sdoran/.ansible.cfg
  configured module search path = ['/usr/local/share/ansible/library']
  ansible python module location = /Users/sdoran/Source/ansible/lib/ansible
  ansible collection location = /Users/sdoran/.ansible/collections:/usr/local/share/ansible/collections
  executable location = /Users/sdoran/Source/ansible/bin/ansible
  python version = 3.8.2 (default, May 12 2020, 12:11:39) [Clang 11.0.3 (clang-1103.0.32.59)]

```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
DEFAULT_LOG_PATH(env: ANSIBLE_LOG_PATH) = /Users/sdoran/.ansible/ansible.log
DEFAULT_VAULT_PASSWORD_FILE(env: ANSIBLE_VAULT_PASSWORD_FILE) = /Users/sdoran/bin/getvaultkey.sh
DEVEL_WARNING(env: ANSIBLE_DEVEL_WARNING) = False
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
Run the following playbook passing `ANSIBLE_SSH_ARGS` as an environment variable

```
env ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null' ansible-playbook playbook.yml -vvv
```
<!--- Paste example playbooks or commands between quotes below -->
```yaml
- hosts: localhost
  gather_facts: no
  tasks:
    - add_host:
        name: delegatetome
        ansible_host: 127.0.0.1

- name: Play against added host
  hosts: delegatetome
  tasks:
    - ping:
```

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

##### EXPECTED RESULTS
`ANSIBLE_SSH_ARGS` are applied to the host created with `add_host` and used during connection.
<!--- Describe what you expected to happen when running the steps above -->
(output truncated)
```
...
PLAY [Play against added host] ****************************************************************************************

TASK [Gathering Facts] ************************************************************************************************
<127.0.0.1> SSH: EXEC ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o...
...
```

##### ACTUAL RESULTS
Missing `ANSIBLE_SSH_ARGS`.
```paste below
...
PLAY [Play against added host] ****************************************************************************************
META: ran handlers

TASK [ping] ***********************************************************************************************************
task path: /Users/sdoran/Projects/Vagrant/Ansible Lab/test-local.yml:16
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: None
<127.0.0.1> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s...
...
```

'''
        Takes a command array and scans it for ControlPersist and ControlPath
        settings and returns two booleans indicating whether either was found.
        This could be smarter, e.g. returning false if ControlPersist is 'no',
        but for now we do it simple way.
        '''
        controlpersist = False
        controlpath = False
        for b_arg in (a.lower() for a in b_command):
            if b'controlpersist' in b_arg:
                controlpersist = True
            elif b'controlpath' in b_arg:
                controlpath = True
        return controlpersist, controlpath
    def _add_args(self, b_command, b_args, explanation):
        """
        Adds arguments to the ssh command and displays a caller-supplied explanation of why.
        :arg b_command: A list containing the command to add the new arguments to.
            This list will be modified by this method.
        :arg b_args: An iterable of new arguments to add.  This iterable is used
            more than once so it must be persistent (ie: a list is okay but a
            StringIO would not)
        :arg explanation: A text string containing explaining why the arguments
            were added.  It will be displayed with a high enough verbosity.
        .. note:: This function does its work via side-effect.  The b_command list has the new arguments appended.
        """
        display.vvvvv(u'SSH: %s: (%s)' % (explanation, ')('.join(to_text(a) for a in b_args)), host=self._play_context.remote_addr)
        b_command += b_args
    def _build_command(self, binary, *other_args):