G_xml: protect against some possible Not_found
G_xml: remove some duplication in error fonctions
clib.mllib: remove duplicated Flags entry
Get rid of two utility files, obsolete now that configure is a .ml
Remove useless Xml_utils
CString: avoid redefining is_sub
Mltop: explicitly qualify calls to CUnix
CUnix: enriched (get_extension, sys_command, waitpid_non_intr) + cleaned
Relaunch all Unix.waitpid when they ended with EINTR

 Moreover, cleanup of System.connect (used by the "external" tactic).
Coqmktop without Sys.command, changes in ./configure -*byteflags options

NB: Please re-run ./configure after pulling this commit

 For launching ocamlc/ocamlopt, coqmktop doesn't use Sys.command anymore,
 but rather CUnix.sys_command, which is based on Unix.create_process.
 This way, we do not need to bother with the underlying shell
 (/bin/sh or cmd.exe) and the way arguments are to be quoted :-).
 Btw, many cleanups of coqmktop.

 Only difficulty: the -coqrunbyteflags of ./configure is a "meta-option"
 that collect as a string several sub-options to be given by coqmktop to ocamlc.
 For instance ./configure -coqrunbyteflags "-dllib -lcoqrun". We need now to
 parse all these sub-options. To ease that, I've made the following changes
 to the ./configure options:

 * The -coqrunbyteflags and its blank-separated argument isn't accepted
   anymore, and is replaced by a new option -vmbyteflags which expects
   a comma-separated argument. For instance:

   ./configure -vmbyteflags "-dllib,-lcoqrun"

   Btw, on this example, the double-quotes aren't mandatory anymore :-)

 * The -coqtoolsbyteflags isn't accepted anymore. To the best of my
   knowledge, nobody ever used it directly (it was internally triggered
   as a byproduct of the -custom option). The only interest I can think of
   for this option was to cancel the default use of ocamlc custom-linking
   on Win32 and MacOS. For that, ./configure now provides a -no-custom option.