Clean up the header files to only contain those things that
need to be shared between .c files.
Functions that are not shared are now declared static to
make their file scope explicit. Functions that ARE shared
are declared in appropriate headers.
I am not going to claim that I caugh everything, but at
least it is a good start.
It was a nice idea to use multi-line error messages to make them
really obvious, but unfortunately it is terrible in practice. Often
errors will occur on multiple nodes simultaneously and the error
messages will be interleaved and virtually unreadable.
I also prefixed each message with "ior", to make it clear that
it is ior that produced the message, and not the scheduler, MPI, or
something else.