This mostly cosmetic patch moves the DebugEmissionKind enum from DIBuilder into DICompileUnit.
DIBuilder is not the right place for this enum to live in — a metadata consumer should not have to include DIBuilder.h.
I also added a Verifier check that checks that the emission kind of a DICompileUnit is actually legal.
Note:
In case anyone is wondering why the Verifier also accepts 0 as a valid emission kind: In a subsequent review I will propose a new "NoDebug = 0" emission kind that will prevent the backend from emitting any Dwarf. Sample-based profiling currently deletes the !llvm.dbg.cu node to suppress Dwarf output, but this is not valid IR and I would like to get rid of this hack.