Update CHANGES
Clean-ups in the tests Makefile
Distinguish between packages explicitely installed by the user and the rest.

This let us uninstall unecessary packages when one root package is uninstalled.

Also, try to give some explanations when deleting packages as well.
Improve the root cause analysis of OPAM actions.
Clean-ups: OPAM now compiles with -warning-error A -w +A-4-9
Init ~/.opam/<switch>/installed.user with the initial packages (it was working before, because is that file is empty, then OPAM copies the content of ~/.opam/<switch>/installed).
Initialize installed.user when switching and importing packages
Code refactoring: change installed.user -> installed.roots

No semantic changes
Update CHANGES
Add --installed and --short options to 'opam switch list'

The --installed option only display the currently installed compiler switches.
The --short option make OPAM display the list of available 'opam switch' target (ie. available compiler + installed switches) on one line, separated by spaces.

This should fix #371
Fix the documentation for --short (as it can be used with 'opam switch list' as well now)
Fix the non-termination of OPAM when sometimes we install an arbitrary package, see 006293e1f8bfb317dab59308cabe4363c6b67675 .
Merge pull request #372 from tuong/master

Fix the non-termination of OPAM when sometimes we install an arbitrary package, see 006293e1f8bfb317dab59308cabe4363c6b67675 .
Improvement to the solver heuristics:

* Reduce the size of the state space explored by the brute-force heuristics.
* Minimize the actions perfomed by OPAM to only the one explicitely required by the user.

This should fix #323 (or at least greatly improve similar situations).
Merge branch 'master' of github.com:OCamlPro/opam
Update CHANGES
Update completion script for zsh