problem.hh: add compile-time asserts for constraints in Problem conversion.

This partially solves #26 (but I think that constraint conversions can
still be ambiguous, cf. #70).
problem.hh: add a new test.

Bug reported by @perrin-isir
problem.hxx: automatically cast constraints to a valid type to remove ambiguity.

Close #70