This change moves LTOCodeGenerator's ownership of the merged module to a
field of type std::unique_ptr<Module>. This helps simplify parts of the code
and clears the way for the module to be consumed by LLVM CodeGen (see D12132
review comments).
This changes the C API semantics (lto_codegen_set_module now destroys its
argument) so I have incremented the API version.