Convert C++ exceptions into scheme exceptions

An exception thrown from C++ code can now be caught in scheme code.  This is nice because you cn now handle them in scheme. It should also make the stack traces a little easier to read, per issue #1159