Implemented filesystem cache, one and only (see #1415)

Well, it kind of reminded me Doctrine's ArrayCache. @stof , what do you think? )

Indeed, having this "caching" can remove instanceof NullCache check (and even move getCacheFilename to Cache at all).