TKR-interface instead of select type
refactored h5fortran v3.8.0 internal polymorphism to use TKR-unique interfaces instead of select type. That is, compile-time polymorphism instead of runtime polymorphism. This helps give clearer compile-time warnings/errors, improved runtime stability, specifically for GCC 11.1 which has a always crashing on file write bug that this fixes.