Cache invalidation for templates loaded from file
TemplateParser should check the modification time of a file when using the template. This ensures that when templates are updated, this is automatically reflected in the output, and does not require a server restart/reload.
This should work automatically for templates that are loaded from file, but should obviously not affect other templates.
Added FileTemplate (with tests) class that provides autoamatic reloading of files when they have been changed on disk. This works for 'main' templates as well as inlined templates. This resolves #916.