Binary Encodings of Non-binary Constraint Satisfaction Problems: Algorithms and Experimental Results