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.
Instead of `debugLevel` being an `Int`, make it an ADT so we have type safety and can prevent meaningless debug levels like 99 and -23.