Double backjumping & Forward checking

\c @floere @kylef @alloy @indirect @who828
conflict