Changed default preferences to avoid downgrades when possible.
Added help entry for OPAMCRITERIA with default value printed out.
Reorganised dose patches to match the ones now present in dose 3.1.2 opam package
Experimenting a different default value for the external solver preferences
Step up ocamlgraph to 1.8.3
Merge pull request #1201 from rdicosmo/fix-ext-src

Fix ocamlgraph in src_ext
Merge pull request #1200 from rdicosmo/new-solver-criteria

Streamline external solver criteria
Fixed a bug with upstream-removed packages that could skip an uninstall

and then fail to install with a 'multiple versions' error
Accept to (re)install upstream-removed packages if their metadata is still present

the previous check was too strict and made opam-rt fail
Fixed cleanup of metadata
Fixed bug with not finding archives of upstream-removed packages for removal

Closes #1193 (the error was actually a bit different)
Merge pull request #1196 from OCamlPro/fix-multiple-versions-byg

Fixed a bug with upstream-removed packages that could skip an uninstall
Convert packages from opam to cudf directly

We used to convert through Debian, which had its merits, but their needs differ.
Doing the conversion directly actually yields simpler code, reduces the potential bug surface,
makes the the cudf files smaller AND gives us more expressivity.

Closes #1185
Closes #1179

Instead of sorting all _mentionned_ versions of a package as done in Debian and mentionned by https://github.com/ocaml/opam/issues/1179#issuecomment-35426135
I chose to sort all _existing_ versions. This has the merit of being much more stable, as we can have universes with the same packages but different constraint sets (for optional dependency handling). This used to be handled with a hack that made sure to still _mention_ the same packages.
Of course, constraints need then to be rewritten if they were mentionning versions that didn't exist, but that's not too complex.

We still rely on the Debian _version ordering_ function, there should be no harm in that.
Skip the final 'command opam xxx failed' unless in verbose mode

this is redundant since there must be more precise error messages, and we already
got the return value of the program for that
Cause computation: factorise a tiny bit of code
Fixed resolution with the internal heuristic

'dose-dummy-request' packages were left in the universe.
Don't download archives in 'fake' mode
Improve action debug printing
Make the --cudf option also output a graph of the actions
Merge pull request #1204 from OCamlPro/direct-to-cudf

Convert packages from opam tu cudf directly