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