Added VIO_FORMAT_FUNCTION macro to allow gcc/clang to warn upon mismatch of format string and parameters.

This fixes a -Wformat-nonliteral warning (but now there will be new warnings
from -Wformat since it can now check print_error() usage).  Will fix those next...
Renamed _DEF_SYSTEM_DEPENDENT_H to DEF_SYSTEM_DEPENDENT_H

This is more consistent with other headers.  Also, identifiers with leading
underscore and uppercase as reserved.
Fix -Wformat warnings with print_error() usage

Changed some %d to %ld or %lu.