First draft of external dependency handling
Clean-up the handling of tags in OPAM files.

For the user, the main change is the move from 'ext-deps' to
'depexts'. This is not very nice, but at least it stays consistent
with 'depopts'. But maybe the good move it to rename depopts to
opt-detps ...
Plug a query system to the external dependency tags.

Now: 'opam install <query> --external=<comma-separated-list-of-tags>'

will look for all the packages which need to be installed by the query
and return all the values associated to the tags which are subsets of
the given list of tags.

For instance, if we have: packages/foo.v/opam

   depexts: [
     [ "debian"          "foo"]
     [["debian" "amd64"] "bar"]
     [ "amd64"           ["toto" "titi"]
   ]

Then:

   opam install foo.v --external=debian,amd64  # return: bar
   opam install foo.v --external=debian        # return: foo bar
   opam install foo.v --external=amd64         # return: bar toto titi

Remark: the tags and their values are unordered.

Hopelfully this system will be flexible enough to fix part of the
external dependencies problem (it will at least help opamalot).
Try to keep the metadata consistent when saving them to disk.