tent/cache config read

<blockquote>Why it doesn't simply overloads original class providing this caching functionality?</blockquote>
Because all of readers are derived from SafeConfigParserWithIncludes. Thus we have each time a new instance of the SafeConfigParserWithIncludes object. But it should each time find and use already cached config reader, so I have overloaded it with this logic.