Further abstraction for archive and repository
The current files.py and repos.py modules only provide a weak (no) abstraction for archive and repository operations. This needs to be improved to cover multiple archive (e.g. single json, bagged json, hdf) and repository (e.g. NOMAD-coe postgres+ES) implementations.