myocamlbuild.ml: only build with .opt compilers if they're more recent.

(Patch by Adrien Nader!)

The recent change that replaced ocamlcomp*.sh made apparent an old bug
where ocamlbuild could use ocamlc.opt even though ocamlc was newer.

As far as I understand, Unix is not usable in this file because it can be
used for bootstrap. Instead, shell out "test ocamlc.opt -nt ocamlc" in
order to check which one to use.

This has also made me notice another issue in this file: it was checking
that "stdlib.cm*xa*" existed when building with the *byte* compiler.

Note that shelling out may have a fairly high build-time cost on
Windows. We'll see with the Jenkins results.
myocamlbuild.ml: only build with .opt compilers if they're more recent.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14276 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
build: always build lex/ and ocamlc with the compiler from boot/.
(Patch by Adrien Nader!)

This is a partial revert of revision 14168 which caused issues when
bootstrapping the compiler. Since these directories don't take long to
build, we can always use a byte-compiled compiler.

Bootstrapping and more generally working on the compiler itself does not
play nice with trying to use the most recent compiler as soon as
possible: imagine you've just modified the compiler but in a way that
breaks it at runtime in a non-obvious way; all the files that are
subsequently built will have been built with your the compiler you will
be debugging.

v2: always build tools/ with boot/ocamlc since most executables link
    against compiler libs.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14277 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
build: make CAMLOPT_BIN default to "no-opt-compiler-available".
(Patch by Adrien Nader!)

Jacques Garrigue has reported that the testsuite would try to run with a
non-existing opt compiler and that the error wasn't clear.

Now, instead of trying to run:
  -c -I some_dir/ foo.ml
anything that tries to run ocamlopt before it's available will run:
  no-opt-compiler-available -c -I some_dir/ foo.ml
which should hopefully be clearer.

I'm not yet sure why the testsuite didn't abort earlier, noticing that
there was no opt compiler. One possibility is that using "test -e"
without argument (which happens if variables are empty and not quoted
inside shell scripts) succeeds. This will have to be checked.

v2: don't remove the bytecode entry (bad copy-paste)
build: make CAMLOPT_BIN default to "no-opt-compiler-available".

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14278 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02