Issue #29: add errors.h for diagnostics: eprintf() and invalid_value_error()
issue #30: MPIdata should be a singleton
debug.h was broken under commit bd0fa30835c.  This uses MPIdata singleton to fix it.
issue#31: consistently use stdout rather than stderr
issue #32: implemented USING_PARALLEL_HDF5 so that users are not forced to compile with parallel hdf5