Validator rewrite

I wanted to wait until I had a chance to test it before merging. I tested it, found it didn't work, and I'm merging. Explanation: It doesn't take fractions into account. However, it looks like this is a bug in Term. I was planning on rewriting that anyway for two reasons, so I think we're safe to merge. Here's `term.toString():`: [coeInt=2, coeFrac=, expr=<3>/<4>, sign=true]. "<3>/<4>" should be in the coeFrac variable that holds the fraction part. Oh well, I was planning on rewriting that anyway so that Term would use Number for the coefficient of the Term.