<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
When looping `include_tasks`, the loop control `loop_var` property is not defined in the included task, when the `loop_var` property has been assigned with a template.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
- loop_var
- include_tasks

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.1
  config file = /playbooks/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.3 (default, Jun 11 2019, 01:05:09) [GCC 6.3.0 20170516]
```

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


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
---
# main.yml
- hosts: localhost
  vars:
    loop_var_name: custom_var

  tasks:
    - include_tasks: looped-include.yml
      loop:
        - first
        - second
      loop_control:
        loop_var: "{{ loop_var_name }}"
```

```yaml
---
# looped-include.yml
- name: Print looped var
  debug:
    var: custom_var

- name: Loop default item var
  debug:
    var: item
```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
We expect the variabe `custom_var` to be the looped variable, and `item` to be undefined. 

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
Neither `custom_var` nor `item` are defined in the looped included task.

<!--- Paste verbatim command output between quotes -->
```paste below
PLAY [localhost] *****************************************************************************************

TASK [Gathering Facts] ***********************************************************************************
ok: [localhost]
included: /ansible-bug/looped-include.yml for localhost
included: /ansible-bug/looped-include.yml for localhost

TASK [Print looped var] **********************************************************************************
ok: [localhost] => 
  custom_var: VARIABLE IS NOT DEFINED!

TASK [Loop default item var] *****************************************************************************
ok: [localhost] => 
  item: VARIABLE IS NOT DEFINED!

TASK [Print looped var] **********************************************************************************
ok: [localhost] => 
  custom_var: VARIABLE IS NOT DEFINED!

TASK [Loop default item var] *****************************************************************************
ok: [localhost] => 
  item: VARIABLE IS NOT DEFINED!
```

else:
        raise AnsibleError("Unable to find location of 'ansible-connection'. "
                           "Please set or check the value of ANSIBLE_CONNECTION_PATH")
    env = os.environ.copy()
    env.update({
        'ANSIBLE_BECOME_PLUGINS': become_loader.print_paths(),
        'ANSIBLE_CLICONF_PLUGINS': cliconf_loader.print_paths(),
        'ANSIBLE_CONNECTION_PLUGINS': connection_loader.print_paths(),
        'ANSIBLE_HTTPAPI_PLUGINS': httpapi_loader.print_paths(),
        'ANSIBLE_NETCONF_PLUGINS': netconf_loader.print_paths(),
        'ANSIBLE_TERMINAL_PLUGINS': terminal_loader.print_paths(),
    })
    python = sys.executable
    master, slave = pty.openpty()
    p = subprocess.Popen(
        [python, ansible_connection, to_text(os.getppid())],
        stdin=slave, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env
    )
    os.close(slave)
    
    
    
    old = termios.tcgetattr(master)
    new = termios.tcgetattr(master)
    new[3] = new[3] & ~termios.ICANON
    try:
        termios.tcsetattr(master, termios.TCSANOW, new)
        write_to_file_descriptor(master, variables)
        write_to_file_descriptor(master, play_context.serialize())
        (stdout, stderr) = p.communicate()