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

ok, fixed that, with NullCache the code seems a bit cleaner