Run solveCNF in MonadError and remove the Maybe.
Run solveCNF in MonadError and remove the Maybe.

Use MonadError instead of Nothing to indicate unsolvable expressions,
which makes failure cases more clear. As a happy side-effect, this also
makes it clear that a couple of those Nothing returns were bugs, so fix
those.

atodorov/bdcs,weldr/bdcs