Foam.c: foamFrBuffer on literal large bigintegers was broken.. for some
reason the right code was under foamProgHdrFrBuffer, so took that.
Additionally, char case slightly broken.
foam.c: foamToBuffer handling of 32-64 bit single integers was broken.. no idea how
this fn ever worked.
foam.c: Update foamEqual so that it caters for foamSIntReduce, additionally
fix up sfloat case
foam.c: Ensure that foamToBuffer always returns something that will
turn back into something equal.
Foam.c: foamFrBuffer on literal large bigintegers was broken.. for some
reason the right code was under foamProgHdrFrBuffer, so took that.
Additionally, char case slightly broken.
foam.c: foamToBuffer handling of 32-64 bit single integers was broken.. no idea how
this fn ever worked.

Conflicts:
	aldor/aldor/src/test/test_foam.c
foam.c: Update foamEqual so that it caters for foamSIntReduce, additionally
fix up sfloat case
foam.c: Ensure that foamToBuffer always returns something that will
turn back into something equal.
Removed some config code from cconfig.h
Ensure that SFlo is _always_ the C float type.  It's arguable whether this
is right or not, but there's some assumptions in xfloat.c about float == SFloat.

Plus, most OS's these days have sizeof(float) == 4, sizeof(double) == 8,
so testing is easier this way.
debug.[ch]: Added a debugFini function (mostly for symmetry)
Fixup: Add debug initialisation to test
bigint.c: bintFrPlacevS was scribbling past the end of allocated space.
Fixed so that it allocates the correct length array.
foam: 'w' is intended to mean 4 byte integer; ensure that any incoming
numbers are this size.
inlutil: Bound foamProg.time by 1<<30
This number is written into foam files, so must be less than 32 bits.
foam.c: Doesn't seem to make sense to do SIntReduce in a 32 bit environment.
Merge branch 'pab/obuild-fixes' into pab/devel

Add fixes for foamToBuffer, etc.
Merge branch 'pab/devel' into pab/allow-fjava
FIXUP: earlier genfoam fix broke pack3.as.. not sure why exactly.