added INCOMPLETE test for Closure type
Changed behavior of parse_tokens()

It now returns a list of lists, it also convert tokens to
ints or floats when possible.
New eval_in_env() function

Not complete but it covers some cases and I've included tests.
eval_in_env() now supports "let" expressions
(Incomplete) lambda support, with tests

Lambda's work if they have been assigned to a variable in the
environment.
Lambdas now support recursion.
Now evaluates expresions sequentially.

The eval_loop() function evaluates expressions sequentially
and modifies the environment accordingly if there is a
'define' expression.

The main program is wrapped in a (begin <prog>) so that the original
parser can be used without alteration.