Rearranged solver to make a bit more sense.

Also includes a first stab at an implication graph for backjumping.