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

the license header should be the same than in other files of the library