Added template context on rendering error

When a template rendering error occurs, show the part of the template
where the problem happened in order to make it easier to track down.
No zero length field name in format. It's not supported in python 2.6.
Jinja needs to be "fed" Unicode data. Fixes #7576.

Additionally, what's returned from `render_jinja_tmpl` is also a Unicode string to that the `SLS_ENCODER` can properly encode them. Encoding UTF-8 data as UTF-8 data using the `SLS_ENCODER` does not, of course, work.
Merge pull request #7826 from s0undt3ch/0.17

0.17 Jinja unicode