setting up for unit tests
converting lots of crap into actual tests
better print and println. special_while doesn't actually need gensym, since its lambda's vars doesn't end up shadowing any values. Fixed exception from malformed setf. Condensed the form of letrec to just one progn instead of two nested progns.