Merge SaltRenderError and RenderError exceptions

I had created the RenderError exception to use for a yaml rendering fix
(see 27d4889), but later realized that SaltRenderError already existed.
This merges the two, allowing SaltRenderError to be used with or without
providing a line number and buffer.
salt.utils.templates.get_template_context -> salt.utils.get_context

This moves this function to salt.utils so that it can be used more
generally.
Fix refs to the RenderError exception class

These now use the new SaltRenderError exception class.
Fix jinja template error reporting

This fixes a problem where the wrong line number is reported when there
is an undefined jinja variable. It also provides context to pinpoint the
location of the bad line.

There is also additional cleanup here, the SaltTemplateRenderError class
is removed in favor of the new SaltRenderError, and
get_template_context() has been removed, since it has been moved to
salt.utils.get_context().
Apply jinja renderer error line fix to TemplateSyntaxError

This applies the same fix made for jinja2.exceptions.UndefinedError to
jinja2.exceptions.TemplateSyntaxError, so that it reports the correct
line.
Merge pull request #8475 from terminalmage/issue8418

Better reporting for rendering errors + jinja render error fix