optimized FileCacheReader

In our project we strongly use annotations and almost 4000 cache file has been generated using FileCacheReader.

In this implementation one cache file contains all related annotation for a class, which means huge reduction of file touching/writing/reading. 

As i see the access patterns of mongo odm, every method and property annotation will be read for a class, so this could be a performance upgrade too.