Handle String reading/writing in the HDF5 backend

Instead of making Hydra so generic to convert string to char *
we now just pass string * to the backend and let it handle it
on its own
Remove the now unnecessary DataReader/DataWriter
Merge branch 'hydra'