user/jszakmeister: parse through ext components looking for a template

This allows us to use the same mechanism for looking up a template for
.snippets.py as a .py file.  It'll start with .snippets.py, and then
move to .py, if it doesn't find a matching template.