ocamlbuild: use ocamlfind to discover camlp4 path

Fixes [issue 6605](http://caml.inria.fr/mantis/view.php?id=6605).

The idea is to use `ocamlfind` to discover where camlp4 is actually installed. And so even if the `-use-ocamlfind` option is not given, for compatibility reasons.

In case the call to `ocamlfind` fails, the default value of `+camlp4` is used. So a working install of camlp4 without ocamlfind is still possible.

The query to `ocamlfind` is done lazily, only when a rule requires camlp4.
The `!!` shortcut looks reasonable to me, but indeed what you are doing is not really lazy because you're immediately forcing the lazy value.
At this point, I'd drop the lazy stuff unless you have a good reason to try for laziness.