Fixed Freemarker cache concurrency issue with multi-tenancy. Now instead of a single FreeMarkerConfig object, which holds a single TemplateCache for the entire application, a different FreeMarkerConfig object is used for each SiteContext, giving a different TemplateCache to each SiteContext.