Full commit. Fixes listed here.

Removed MinusFunctionElement eval when all elements not evaluating.
Changed execute() to evaluate() as per new spec.
Added method isFullyGrounded() to check if all variables assigned.
Added method setVariableValue(String varName, double value) to set
variable.

Other fixes to make code more general and less complex.