Caching (fixes #31), rewrite yolo in yolisp (fixes #27)

![](http://mylittlefacewhen.com/media/f/img/mlfw3330-1330548352244.gif)
Previously I just manually passed the new environment to `yolisp`, but just making `eval` close over `$env` by-reference means I don't have to do that, so it's more convenient.