[OCaml] Drop support for 3.12.1 and earlier.

In practice this means:
  * Always using -g flag.
  * Embedding -cclib -lstdc++ into the corresponding cma/cmxa file.
    This also moves -lstdc++ in a single place.
  * Using caml_named_value instead of a homegrown mechanism.
[OCaml] Expose Llvm_bitwriter.write_bitcode_to_memory_buffer.
[OCaml] If compiled without --enable-shared, hide packages from toplevel.

Pretend they do not exist using exists_if. This is better than
the current situation, which is the error:

    Error: The external function `llvm_global_succ' is not available

but still somewhat confusing.
[OCaml] Expose Llvm_target.TargetMachine.add_analysis_passes.
[OCaml] Expose Llvm.parse_command_line_options.