fixed let return value when multiple arguments (return last one). fixed set! not evaluating the second argument before assignment
refactored SymTabStack. Changed ordering so that built-in functions such as + can be overwritten. added Pair and Procedure types