Add new test for explicit conditions into aldor test suite.

Things like 'foo has with { f: A -> B }' should work just fine.

Turns out we were getting this really wrong.  So, test it, and we'll know
if it's all good.
tinfer.c: Implicit imports and conditionals

When matching 'add' bodies against context, look at implicit symes before
conditions.  Otherwise implicit symes that have conditions will not be properly
matched.
syme.c: Fix case of AB_And in a type expression.

Code that flattens AB_And in a condition (eg. A has B and A as X) was flat
out wrong, discarding most if not all of the actual condition.  Fix it.
tests: Add better test for symeAddCondition
tform.c: Use already existing function to add a condition to a list of
symbols
aldor/test: Add -Wcheck to argument list.
absyn.c: Add abNewAndAll to get a conjuction from a list of tests

To be used when gathering conditions from syntax
absyn.c: New abNewOrAll function.
syme.c: Check that conditions can be type inferred before adding them to
symes.
scobind.c: Dump the information about conditional context in which an
identifier is defined onto the symbol.
foamlib: ~=$List was missing in the case where S isn't a BasicType.
aldor_gloop.as - define << when not X has OutputType, instead of PrimitiveType.
complex.as: Define ^ in terms of binary powering when R is not a Floating
point field.
algebra/sit_quotby.as: Mark normalize on FractionBy as broken for
non-GcdDomain arguments.  Not entirely sure what the right thing to do
is here.  All ideas welcomed.
sit_sercat: Definition of monicNewtonSeries and tryExpandFraction
depend only on CommutativeRing, not GcdDoman.  So, tweak.
Verify that when an export is required from an add body, make sure that as
well as the symbol being defined, it is defined in contexts matching the
condition on the export.
So: A category like 'with {if A then { b: % }}
should not be matched by 'add { if X then { b: % }}', unless A implies X.
Replace 'A' with Ring and 'X' with Field to get the idea.
terror.c: Warnings on conditionally missing exports

Add more complex error printer for partially implemented exports.
algebra library: remove debug flag in build