Implemented lambdas - there is a bug that appears with the following example:
  (let ((sqr (lambda (x) (* x x)))) (let ((cube (lambda (x) (* x (sqr x))))) (cube 3)))
   Should return 27