Big cleanup in OpamTypes

the everywhere-opened module used to contain lots of various stuff. Now:
* it contains only types, so no duplication between .ml / .mli is needed
* utility functions have been moved to OpamTypesBase
* Action resolution modules and functors have been moved to their own
  modules, with a much cleaner interface. The two instances (with OPAM and CUDF modules)
  are also a bit easier to distinguish and understand (OpamSolver converts between
  the two)
opam-rt doesn't like latest cohttp, temporary workaround for travis
Merge pull request #1206 from OCamlPro/opamtypes-cleanup

Big cleanup in OpamTypes
Warn the user when resorting to the internal solver heuristics.
Merge pull request #1213 from rdicosmo/handle-external-solver-failures

Warn the user when resorting to the internal solver heuristics.
Add dose patch for clean exit on solver errors

Source: https://gforge.inria.fr/plugins/scmgit/cgi-bin/gitweb.cgi?p=dose/dose.git;a=commit;h=3d9b403766e7741e84fb648dde7867dd6f869b38
Closes #1202
Fixed an issue that could happen in some cases of `opam switch import`
Add support for 'package flags' in opam files
Experimental support for 'build-dep' packages
Add a lightweight ocamlfind-install wrapper to generate .install files
Rename '--show' to '--show-actions'
It's clearer and remains backwards-compatible thanks to cmdliner's magic
Add missing relationships for computing action causes
the relationship wasn't displayed when it only concerned the old version
of a package, not the new one. Exhibited by e.g.:
`opam install custom_printf.109.15.00`
Fixed display of the error report
Merge pull request #1216 from OCamlPro/fix-cudf-lock

Add dose patch for clean exit on solver errors
Merge pull request #1218 from OCamlPro/switch-import-solver-fix

Fixed an issue that could happen in some cases of `opam switch import`
Remove travis version constraint on cohttp

(fixed on opam-rt upstream)
Merge pull request #1225 from OCamlPro/travis-cohttp

Remove travis version constraint on cohttp
Merge pull request #1223 from OCamlPro/complete-causes

Add missing relationships for computing action causes
Merge pull request #1217 from OCamlPro/pkg-flags

Add support for specifying package-specific flags
Adding positions to the OPAM parse-tree

This should finally give us proper locations when anything gets wrong in
a file. I'm confident this will save people more time than it took me to
add :)