Implement caching

* CacheBackend interface and implementations for:
 - in-memory (during web request)
 - Redis
 - File system
* Cache management class to populate multiple layers of caching.
  Primarily to function as centralised in-object cache to save
  disk or network I/O for multiple lookups.
* New function kfCacheKey().
* New class kfLogSection.
* Add unit tests.

Also:
* Removed function kfLogStart().
* Removed function kfLogEnd().
* Removed function kfTimeSince().
* Removed GlobalConfig::getStartTime.
* Removed GlobalConfig::getStartTimeMicro.
* Clean up require_once statements, fix order in InitTool.php.