teach opamGlobal and opamSystem.patch about NetBSD and DragonFlyBSD
Revert "Change the way we detect existing commands"

This reverts commit e157b5fd1e1bbe1749b2440487d3b7995592f356.
Merge pull request #480 from adegroote/more_bsd_support

Teach opamGlobal and opamSystem.patch about NetBSD and DragonFlyBSD
Improve the API. There are still some global state (the main one being the filesystem -- it will be quite hard to abstract other it I'm afraid) but it's now easier to do all of the action available on the command-line using the API.

An example:

   let pkgs = OpamPackage.Name.Set.of_list [OpamPackage.Name.of_string "core"] in
   OpamClient.API.install pkgs

The message are still displayed on stdout/stderr so that could be a bit awkward.
Merge branch 'master' of github.com:OCamlPro/opam
Update the HTML docs
Update the man pages
Update the tutorials
New tentative fix for #471 (woud be easier with a test machine)
Remove 'opam remote' as it is replaced by 'opam repository' since 0.9.0

Remark: if you find 'repository' too long, you can use 'opam repo' instead (as cmdliner looks for matching commands with the same prefix)