##### SUMMARY
when the following command is run
`ansible -i /tmp/inventory -m include_vars --args "dir=../defaults name=role_defaults"  --playbook-dir=../ansible-role-forgerock-ds frds`
it errors with 

```
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'dict' object has no attribute '_data_source'
frds-user-01 | FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}
```

if i edit `/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.py` and comment out line `100`

```
        results = dict()
        if self.source_dir:
            self._set_dir_defaults()
            #self._set_root_dir()
            if not path.exists(self.source_dir):
```

and rerun it returns the values contained within that directory.

I am using  `molecule` to test the ansible role and have a workaround within `conftest.py` as follows

```
import pytest


@pytest.fixture(scope='module')
def ansible_vars(request, host):
    defaults_files1 = "file=../../defaults/main/common.yml name=role_defaults"
    defaults_files2 = "file=../../defaults/main/directory.yml name=role_defaults"
    defaults_files3 = "file=../../defaults/main/proxy.yml name=role_defaults"
    defaults_files4 = "file=../../defaults/main/replication.yml name=role_defaults"
    vars_files = "file=../../vars/main.yml name=role_vars"

    ansible_vars = host.ansible(
            "include_vars",
            defaults_files1)["ansible_facts"]["role_defaults"]

    ansible_vars.update(host.ansible(
        "include_vars",
        defaults_files2)["ansible_facts"]["role_defaults"])

    ansible_vars.update(host.ansible(
        "include_vars",
        defaults_files3)["ansible_facts"]["role_defaults"])

    ansible_vars.update(host.ansible(
        "include_vars",
        defaults_files4)["ansible_facts"]["role_defaults"])

    ansible_vars.update(host.ansible(
        "include_vars",
        vars_files)["ansible_facts"]["role_vars"])

    return ansible_vars
```

but would prefer to use the correct command module to do so.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
`include_vars`

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```
ansible 2.8.4
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

```

##### CONFIGURATION
`Return nothing`

##### OS / ENVIRONMENT
Linux, Centos 7.6


##### STEPS TO REPRODUCE
`ansible -i /tmp/inventory -m include_vars --args "dir=../defaults name=role_defaults"  --playbook-dir=../ansible-role-forgerock-ds frds`

##### EXPECTED RESULTS
It returns all the values defined in all the files within the directory


##### ACTUAL RESULTS
```
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'dict' object has no attribute '_data_source'
frds-user-01 | FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}
```

else:
                for root_dir, filenames in self._traverse_dir_depth():
                    failed, err_msg, updated_results = (self._load_files_in_dir(root_dir, filenames))
                    if failed:
                        break
                    results.update(updated_results)
        else:
            try:
                self.source_file = self._find_needle('vars', self.source_file)
                failed, err_msg, updated_results = (
                    self._load_files(self.source_file)
                )
                if not failed:
                    results.update(updated_results)
            except AnsibleError as e:
                failed = True
                err_msg = to_native(e)
        if self.return_results_as_name:
            scope = dict()
            scope[self.return_results_as_name] = results
            results = scope
        result = super(ActionModule, self).run(task_vars=task_vars)
        if failed:
            result['failed'] = failed
            result['message'] = err_msg
        result['ansible_included_var_files'] = self.included_files
        result['ansible_facts'] = results
        result['_ansible_no_log'] = not self.show_content
        return result
    def _set_root_dir(self):