Improve the message displayed to the user when we reinstall packages.

Now OPAM display either:
* the root causes of the reinstall (ie. the package which caused the reinstallation)
* or the fact that the package has been modified upstream
Fix a bad bug with wrong environment setting.

Sometime, it 'opam config env' hadn't been called in the current shell, some package build was failing miserably. This commit clean-up a lot of small things in the management of environements, so now 'opam install XXX' should always work even if the user has a wrong environment set-upt.