Uses -heap-arrays to avoid stack overflow for ifort

Also uses -fmax-stack-var-size explicitly with the default value 32768
for gfortran.
Uses character(len=1) for C and Fortran interoperability...

in utility.f90 and xdr.f90

It is the STANDARD
Merge branch 'xdr'