Set Jinja2's keep_trailing_newline=True in template_from_string.

Without this setting, the newline idempotence of scalar strings changes depending on whether
or not they contain any Jinja2 template blocks.

I've included a patch to the test_template integration test to demonstrate the behavior, but to be explicit, consider the following vars:

    vars:
      x: "Hello\n"
      y: "{{'Hello'}}\n"
      z: "{{'Hello'}}\n\n"

Without keep_trailing_newline, x != y, but instead x == z, as Jinja2 strips one trailing newline on y and z. This only affects string templates, as file templates already have code to ensure newline parity.

I expect that newlines should be handled identically for strings, regardless of whether or not a template is used.

Not limited to vars, this affects other places where templates may be used; for example, copy:contents.