Added a very nifty caching system for filesystem templates. Apparently, the main most time is spent in the actual processing of templates (parsing language and conditionals). This system works by polling the database cache (which stores the fully compiled templates) and checks to make sure that the filesystem files aren't actually updated. If they are, it updates the cache, and if they aren't it just returns the database copy. The process only works on templates called in cache() and not in lazy-loading in fetch().