Refactor read_file
Basic cache for readers with json and mtime - this is broken !

See if it is possible to serialize the Tag objects.
Use a custom json encoder for the metadata fields and decode once the json is
loaded.
Read/write the json cache only once in the Pelican class.