absyn.c: Add Sefo formatters - just use absyn.
syme.c: Add simple (and leaky) clone mechanism
test library - tfqTypeInfer can return the parsed expression.
Makes testing that much easier
aldor/test/Makefile: Need to protect jimport test against being run in disable-java mode too.
fix --enable-git-build-id for vpath build
Build: To stop automake whinging, add subdir-ojects.  2 directories don't
play nicely - both currently refer to non subdir .c files.  Cheat by
copying locally.
automake: Missed this use of non-local .c files
aldor: Move Boolean and Primitive type out of sal_base.as.

This is a workaround for occasional bad inlining by the compiler - to
do with when extends and categories are present in the same file (in this
case '=' on primitive type and its implementation in MachineInteger.
tinfer: strip out automatic generation of << and equality operations from
record; they are not handled by genfoam, and make assumptions about the
downstream library.

Also, the way it's done here (by explicitly expanding the argument types)
breaks inlining for anything using Record(x: %, ...).  Following patch
will introduce a slightly nicer way of implementing the operations.
aldor: Remove union-print from tests (this is temporary, until union
learns how to print things nicely).
Library: Rename SingleInteger to MachineInteger in the compiler.
Use a macro in libfoamlib to deal with the rename without a massive patch.
tests: Add a check that machineInteger is set appropriately
Library: Rename 'print' to 'stdout' to reflect the aldor library
convention.
aldor tests: Confirm that inclusion of a file only happens once.
libaldor: Add union print operation.  Mark union-print test as working.
Also, added domain name and related functions from foamlib.  Note that
the dispatch vector interface is not cast in stone.
tests: Generate .fm file as well.  It's only spinning rust, doesn't cost
anything.
GCC warnings: Declare a few functions.

Tried compiling with --Wstrict-prototypes.. these got mentioned, might as
well fix.
genjava: It is possible for a (Values (...)) statement to be left lying
around by optimisation passes.  Generate no code for it and move on.
algebra/matrix: Added some additional tests.

Turns out that the matrix [[...], ...] style construction is column ordered
not row ordered.  This is quite annoying.
spesym.c: Format long lists of things.