Cleaned up old code.

Used Intellij to improve anything that could be improved from a cursory overview. Added a suite tester that doesn't depend on make (necessary if you're running Windows). Removed unnecessary copying in BinaryOperator.
 Changed all of the Variable's getValue() method to return a copy of the evaluated variable, without changing the underlying object. In other words, all variables are now immutable, and they can be thought of as Java strings.