Pass DIEs to DwarfUnit constructors by unique_ptr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207447 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: Just store the DIE by value in the DwarfUnit

Since all 4 ctor calls in DwarfDebug just pass in a trivially
constructed DIE with the right tag type, sink the tag selection down
into the Dwarf*Unit ctors (removing the argument entirely from callers
in DwarfDebug) and initialize the DIE member in DwarfUnit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207448 91177308-0d34-0410-b5e6-96231b3b80d8
OCaml binding: Create a new ocamlfind module llvm.backends
OCaml binding: Remove the _all prefix as it is redundant with the module's job
OCaml binding: Add a build target to the Makefile
OCaml binding: Allow to compile it with a system installed LLVM