Better handling of explicit package upgrade

Running 'opam upgrade pkg' would call the solver with all other installed package
versions fixed, and with upgrade criteria. This prevents the upgrade of pkg in case
it requires any other changes, e.g. in case of conflicts.

This patch instead doesn't fix any version, but uses the standard install criteria
so that only 'pkg' is upgraded.
Behaviour with the internal solver shouldn't be changed

Downside: this is a regression if the user doesn't have a solver handling the latest
version of criteria, e.g. aspcud 1.9: in that case 'opam upgrade pkg' won't limit
the upgrade to 'pkg' as it did before (but it won't fail anymore in case this strict limitation
isn't possible !)
On explicit upgrade, attempt a strictly higher version or fail

... except for dev packages, packages needing reinstall or pinned packages for which
it makes no sense.
Merge pull request #1791 from OCamlPro/better-explicit-upgrade

Better handling of explicit package upgrade