Making core and function cores more easy to be extended for using other cache storing method like memcache etc.
More modifications.

Fix a bug in template manager that causes misleading cache expiring time check.

Fix a bug in example project.
Add a new wrapper method to get content from a cached template.
Add new method in Template: buildCachingPath, which will build more nicer path with a index.htm file in it.
Change code to pass the PSR2 test.
All new Exception/EmptyValueNotAllowedForCondition to avoid not allowed empty values.