add h5parm singleton
libhdf5 is not always thread safe, and it is not necessary to re-read the same h5 file when multiple threads are accessing it, this fixes both issues by using a singleton for the h5 file, the h5parm is passed as a reference to all threads (so h5parm is assumed thread safe, for reading)
Edited by Sarod Yatawatta