Constrained Satisfaction Problems: A Unifying Concept