capture exceptions thrown by the MongoDB driver

If a plan is constructed and submitted to the MongoDB driver, and then an error occurs inside the driver, you now can see all the debug logging etc., plus a line with the message from the driver's exception.

Also, added a REPL command to hide the detailed logging: `set debug = 0`. The idea is that level 2 will get you even more verbose logging when #50 is implemented.
Yes. The effect of updating the debugLevel in the RunState is done separately, in the first match expression in run(). It's confusing, but that's how I could get it to work. It appears that no other command needs to both modify the state and write something.