Stable Matchings in Practice: A Constraint Programming Approach