Merge branch 'feature/hdf5' into 'master'
HDF5 support for parallel output This MR adds support for HDF5 output format as an alternative to our existing XML-based format thanks to the hard work of @mrbareford and @rupert.nash! The following changes have been incorporated as part of this work: - Move `FieldIO` to a factory format, with `FieldIOXml` for XML output and `FieldIOHdf5` for HDF5 output. - Default output format is XML but can be switched to HDF5 by setting the `IOFormat` SOLVERINFO tag, or the `--io-format` command line argument -- the argument will override the XML file. - The MPI communicator has been templated to allow a wider range of data types to be sent/received, and a couple of new functions have been added (broadcast, splitting of communicator on bool, ...) - Boundary conditions are now equipped with their own communicator so that we can read HDF5 on a subset of processors. - Lots of Doxygen added for both formats - FieldConvert can also convert between formats: ``` FieldConvert in.fld out.fld:fld:format=Hdf5 ``` See merge request !615