Ideas for exceptions

Just expressing ideas, don't merge; untested

I think your exception catching should be more specific, and an error specific to the Lis interpreter might be useful - you could catch them and display helpful user messages or something. (no functionality on these exception classes for this now, but could be added)