Error out on attempt to eval an undefined var
Add support for (loop* ...) and (recur ...) special forms

Note that (recur ...) is presently only supported within (loop* ...).
Support for recursion within (fn* ...) is planned for the future.