Visit load store / exception framework

I have implemented enough to get the scope working with variables in a test file both loading and storing. If there is a variable in scope already and it gets reassigned with a new type then an exception is raised. These exceptions are in the new file Exceptions. I also went back to some of the older parts where we were just printing to sys.stderr and replaced them with exceptions.

Also made visit_generic not excede recursion depth and print out the name that needs a visit_* added for it. Upon reflection I was very wrong about this not being necessary, so I fixed it.