trimming down file_caching.c , splitting stuff that can be splitted , preparing to make it use hashmap.c