capture exceptions thrown by the MongoDB driver
remove debug print
default debug level to 1 (the old behavior)
capture log and detailedLog from backend; print one or the other depending on debugLevel
use scalaz.Either.fromTryCatchNonFatal
feedback on REPL when setting debug level; extend Error
Merge branch 'trap-evaluation-errors' into issue110
go back to Task.fail for evaluator errors

revert change to use \/ inside the Task
instead, fix the handling of failure in the backend to wrap the
exception with LoggedError
ADT for DebugLevel
clean up diff
Merge branch 'trap-evaluation-errors' into issue110
always escape literals

literals almost always need to be wrapped in $literal for use with
Project, and there seems to be no harm in wrapping them even if in some
other case it might not be necessary