conflict messages: improvements

While we don't preserve exact version numbers in constraints when they don't match
an available package, this is an effort to preserve at least the comparison operator,
which is already much less confusing.

In particular, a bad equality constraint will show a not-so-nice but at least explicit
'package = <unavailable-version>'.

ref: #1787
unavailable because pinned: show version used
Merge pull request #1788 from OCamlPro/conflicts-msgs-cmp

Improvements to conflict messages