Ensure conflicts are never silent

even when we can't get any explanation for some reason ;
also add explanation on some constraint failures.
Better causes on removed packages
Fixed handling of upstream-removed packages at the solver level
Cleanup orphan package handling in OpamClient
Merge pull request #1198 from OCamlPro/upgrade-downgrade

proper handling of "orphan" packages