Print informative message on conflicts

* a bug prevented any display in some (frequent) cases. Some meaningful errors
could be filtered out.
* when it worked, exhaustive chains of dependencies were printed. With the many
versions of core that could fill screens. It wasn't easy to find the relevant
information and no link was made to the originally specified package constraints.
* now the offending chains of dependencies are aggregated as much as possible,
yielding a clear and short output.

For example:
```
$ opam install biocaml.0.3.1
Sorry, your request cannot be satisfied:
 - Conflicting version constraints for core

The following dependencies couldn't be met:
 - biocaml -> core < 109.36.00
 - biocaml -> flow -> core >= 109.36.00

No solution found, exiting
```