Add parent to TemplateClassLoader and loading guard.
In some instances, classes that are not templates have been loaded through the TemplateClassLoader.
To prevent those, a parent has been added, that attempts to load the class before the TemplateClassLoader has to.
If the parent fails as well, a Class.forName method call attempts to load the class.
In all instances, the TemplateClassLoader does not attempt to load any classes which do not belong to the template.* package.