Suppress a few warnings about 'may be used uninitialized'

gcc gives these warnings in release.
They look like false positives given the current logic,
but are a good defensive measure against future changes.
Suppress unused parameter in MSVC-friendly way.

Since MSVC doesn't support C99, moved (void) cast statement
after variable declarations.
Merge remote-tracking branch 'upstream/develop' into develop
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.
Moved memory allocation closer to actual use to fix leaks

fixes some clang analyzer warnings about memory leaks of 'buf'
in all the early-return paths.
Removed two useless dead stores.

fixes some clang analyzer warnings
Merge remote-tracking branch 'upstream/develop' into develop

Conflicts:
	libsrc2/m2util.c
Merge remote-tracking branch 'upstream/develop' into develop
Fixed some inconsistent/confusing whitespace, fixes -Windent warning:

volume_io/Volumes/input_volume.c:104:5: warning: statement has higher indent than preceding for, but is not part of it [-Windent]
    switch( input_info->file_format )
    ^
Fixed merge conflict