More conform to ISO C99
ISO/C99: empty var args macros
ISO/C99: do not repeat semicolons
ISO/C99: another empty var args macros
Be pedantic by default
Compilable with `gcc -std=c89'
More conformant to C89
No union in extra_t (C89 initialization)

It is not possible to initialize different member of a union that the
first in C89. Thus, get rid of them ;-).
No union in pcut_item_t
C89: do not use named-members initializers
Enable (v)snprintf under C89
Do not depend on C99
Proper main() signature
C89-related fixes for Windows
Merge branch 'master' into stdc
C style (no change in functionality)
Move debugging macro to internal header
Merge branch 'stdc' (conform to C89)

Except for use of __VA_ARGS__, the whole code shall be compilable under
C89. Effectively, the code is compilable with Microsoft compiler
(however, the self tests fails as the program aborts when assertion is
not met instead of terminating with non-zero exit code).