major refactoring of CompoundTerm to use Term[] instead of List<Term> for significant performance handling, and also flexibility.  only 3 additional tests broke as of this commit, and should be fixed soon.