Fixed some bugs, found another

I believe there is a problem with the way watches are being updated.
Occasionally, a literal that is False in the literal trail makes its
way into the unit propagation queue, which needs to be fixed.