<!--- 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!
```

finally:
        termios.tcsetattr(master, termios.TCSANOW, old)
    os.close(master)
    if p.returncode == 0:
        result = json.loads(to_text(stdout, errors='surrogate_then_replace'))
    else:
        try:
            result = json.loads(to_text(stderr, errors='surrogate_then_replace'))
        except getattr(json.decoder, 'JSONDecodeError', ValueError):
            
            result = {'error': to_text(stderr, errors='surrogate_then_replace')}
    if 'messages' in result:
        for level, message in result['messages']:
            if level == 'log':
                display.display(message, log_only=True)
            elif level in ('debug', 'v', 'vv', 'vvv', 'vvvv', 'vvvvv', 'vvvvvv'):
                getattr(display, level)(message, host=play_context.remote_addr)
            else:
                if hasattr(display, level):
                    getattr(display, level)(message)
                else:
                    display.vvvv(message, host=play_context.remote_addr)
    if 'error' in result:
        if play_context.verbosity > 2:
            if result.get('exception'):
                msg = "The full traceback is:\n" + result['exception']
                display.display(msg, color=C.COLOR_ERROR)
        raise AnsibleError(result['error'])
    return result['socket_path']