Detect conflicting constraints in solve_internal
When the target package has the same name as an existing constraint
(e.g. solving ocaml-variants.5.4.1+options while --ocaml-version
pins ocaml-variants to 5.2.0+ox), return an error immediately
instead of silently overwriting the constraint.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>