implement error checking

after this alonzo can recognize evaluation errors without silently converting them to `0` or ``#f`. try:

    (+ 1 cats)
    (+2 3 (mod 5 I am trapped in an interpreter factory))