Added limit to the number of evaluation steps that are allowed
Added parser for expressions, sanity checker for substitutions, saving/loading grammars to files, and timeout for expression evaluation. Planner and EM now do not get tripped up by programs that have space leaks, and seem to work.