Altered greedy orchestrator to fork at each optional/or/union, and
produce the cartesian product of forks whenever a new optional/or/union
is encountered at the same level in the CPS tree.

Changed MapRETEQueue to throw errors instead of printing WAT when
encountering errors.

Made the OPSDisplayUtils show details of the contents of each node in
the DAG.  Also added more detailed toString() methods to
FixedJoinFunctions and BaseTripleFilterFunctions.

Added some additional rules to expand the RIF test suit.
Fixed a bug in handling CPSs with Axioms/Sources and no joinables/predicates/consequences (if there are no "empty" subCPSs, joinedCPSs is empty, if there are empty subCPSs then there is an entry for it in joinedCPSs, but it is empty).  Now checks for the cheap case, then the expensive case before emitting the set of complete results (if there are complete results and at least one partial result with at least one joinable or predicate, throw an exception).
Made the affore-created exception more explanatory.
Small changes and fixed some data to give good example results.
this isn't working, there is a bug in the building code when there is a loop