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.
Note you actually don't need to use this if you like: you can parse each alternation as a different `DebugLevel`.

e.g. something like:

```scala
"set debug = " ~> ("0" ^^^ (DebugLevel.Silent) |  "1" ^^^ (DebugLevel.Normal) | "2" ^^^ (DebugLevel.Verbose))
```

This way you never even have an integer representation that can go wrong.