Allow use of snippet_id in template variables.

Now the snippet ID can be included in either a snippet template or the
template data stored on a snippet. Mostly useful for Raw code snippets
that still want to access the snippet ID.
Right now template code uses `{{ snippet_id }}` to get the id and template variables use `{snippet_id}`. This can be confusing. Myself I spend a couple of minutes believing that template's snippet_id is broken because I used single braces instead of double.

I think that we can use `{{ snippet_id }}` for template variables as well, since we'll be replacing any instances before jinja renders that code, therefore there will be no conflicts.