Minor change to template handling of "include:" loaded files in playbooks

TL/DR – include files are not Jinja2 templates. You can ignore this if you didn’t know that they used to be. Wanted to share though
in case this throws anyone. If you don’t understand, you definitely can skip this.

Longer explanation –

In order to make certain variables like this:

{{ ansible_fact_here }}

actually work with includes…

Included files in playbooks are not “pure” Jinja2 templates any more.

This means that they are templated just like playbooks, meaning each line is templated (more or less).

this is still fine:

action: whatever {{ foo }}

but now this is not:

{{ %for }}

  • action: whatever …
    {{ %endfor }}

I don’t think this really is going to break anyone, except for clever folks who figured out that included files
were technically Jinja2 templates. If you need loops, with_items does that, if you need conditionals, ‘only_if’
does that.

Now included files are just YAML, which is what they were before anyway, and things work consistently
as they do in top level playbooks.

This was a fix to enable complex fact usage, among other things, in included files. $ansible_factname worked
but {{ ansible_factname }} did not, and this fixes that.

–Michael