Transform list of unicode chars in templater

Since OTP 17 strings read from a file are by default parsed as a list of
unicode characters.
If such a list contains a non-ascii character (unicode > 255) then a
call to erlang:list_to_binary/1 fails.
This commit converts unicode list of chars to binary via unicode module
if ran against OTP >= 17.
The OTP version condition needs a informative comment, and I think we have a similar post-R vsn condition somewhere else in the code. Maybe a helper function is a good idea, if both places are similar enough.