Fixes for several test suite models so that they now pass.  Some were obviously rejected out of hand a while back, oddly enough.
* ASTNodes with plus, times, and, or, and xor now can have zero or one child, as is legal in MathML.
* Fix error message for algebraic rules, which don't actually have IDs.
* If the model read in has the Hierarchical Model Composition package, it now flattens it and continues.  This involved passing it the filename, so it can find external models from other files if need be.
* Now don't report warnings when there are errors (and don't report anything if there are only warnings).