initial mercurial support

It works in my setup.  I've tested it with `opam repo add -k hg testing-hg https://bitbucket.org/gds/testing-opam-hg-repo && opam update && opam install amall` (it's my almost private repos).  (note that 1. it doesn't work with ocaml 4; I'll fix it later, but now `opam switch 3.12.1` helps to test mercurial repositories support on this example.  2. I've tested "ssh://..." repo urls too, maybe you don't have access to some repos with ssh, but you can replace it with `https://bitbucket.org/gds/repo-name#optional_revision`).