MSVC 2012 does not support %zd format modifier
prevent dangling else for uses of assert

Also, move the check for _dont_assert into _do_assert.
Having a runtime variable decide whether an assert is fatal
makes static analysers misbehave. They are right about potential
undefined behaviour after a failed assert, but should not know this.
remove unused variables; add -1 as a value to gjId

Adding an explicit GJ_INVALID means we don't need to rely
on conversion to integer.
correct the type of gcTimer

Also:
- Use standard C preprocessing operators # and ## instead of
  Enstring and Abut. We can assume these exist by now.
- fintphase.h had a broken header guard. Most files also have
  standard-violating header guards (they start with _ followed
  by a capital letter).
rename fintState in foam_c.c to fiState

foam_c is not the interpreter
use LENGTH_FMT where appropriate
export special character table from genc.c

gencpp needs it, and redundantly re-declared it, risking violation of
the one-definition-rule.

Also:
- rename emptyEnv in genc.c to gc0EmptyEnv
- rename emptyEnv in genlisp.c to gl0EmptyEnv
- int0 is not a pointer, don't use it where a pointer is expected
add missing include
remove unused variables
correct type of hfoldUnit implementation
rename of_inlin's ProgInfo to InlProgInfo

To prevent confusion with fint's ProgInfo
inlutil has its own inuProgInfo, so I think this makes sense.
fix warning about operator precedence
prefix local definitions with a namespace
wrap SIntReduce test in IF_LongOver32Bits
use LENGTH_FMT
remove redefinition of TmTimer, and include timer.h
declare YYSTYPE only once to prevent ODR violation
LINE_LENGTH is a constant

So don't declare it as a variable.
define the *_SOURCE variables as 1

System headers do so, so we do the same.
use ## instead of Abut in list.h and fluid.h