Choose solver criteria depending on the action

This resolves the problem of unrelated packages installed on 'opam install'
by minimising the changes except on 'opam upgrade'. You may now specify
OPAMUPGRADECRITERIA. OPAMCRITERIA and --criteria still change the criteria
for all actions.
Merge pull request #1364 from OCamlPro/upgrade-criteria

Choose solver criteria depending on the action
Fix urls.txt

This vastly improves the line-lexer and fixes escapes in urls.txt.
Ref: #1363
Don't reload urls.txt for each packages

this was a regression that was introduced when parallelising downloads:
workers wouldn't share there urls cache.

Also some optims in loading the file.
Fix complexity of OpamFilename.Set/Map
optim: skip costly computation of empty dependency cones
Merge pull request #1365 from OCamlPro/optim-urls

Some optimisations, mainly regarding loading of urls cache
Merge pull request #1361 from samoht/master

Towards a bridge with ocamlfind
Simpler build using OCamlMakefile
Fix travis scripts
Build & travis fixes
Remove prereqs from make 'install*' targets

so that it's safe to call them with 'sudo'
make: Install libs to the ocamlfind prefix rather than $(prefix)
Fixed the 'test' and 'doc' targets
better tmp dir choice
Merge pull request #1362 from OCamlPro/rebuild

Simpler build using OCamlMakefile
Disable warn-error, as it makes developing on a trunk compiler very difficult
Merge pull request #1367 from avsm/no-warn-error

Disable warn-error, as it makes developing on a trunk compiler hard
Remove -warn-error in the Makefile version too.

Followup to 1e2b8cc677942ba56301781107dcf841f0d849a7 which removed
them for ocp-build
Merge pull request #1368 from avsm/fix-warn-error3

Remove -warn-error in the Makefile version too.