Turn constrained depopts to conflicts, enforcing good semantics

This is the semantics they should have had. For example, if `b` has `depopts: "a" {> "1"}`,
it was _possible_ to have `a.1` and `b` installed together, depending on the order of commands.

Previous attempt to push this caused problems with OPAM 1.1 because it
made existing installations inconsistent, which wasn't handled
well. It should now go more smoothly and make the situation more sane.