IR: Move MDLocation into place

This commit moves `MDLocation`, finishing off PR21433.  There's an
accompanying clang commit for frontend testcases.  I'll attach the
testcase upgrade script I used to PR21433 to help out-of-tree
frontends/backends.

This changes the schema for `DebugLoc` and `DILocation` from:

    !{i32 3, i32 7, !7, !8}

to:

    !MDLocation(line: 3, column: 7, scope: !7, inlinedAt: !8)

Note that empty fields (line/column: 0 and inlinedAt: null) don't get
printed by the assembly writer.

llvm-svn: 226048
diff --git a/llvm/test/DebugInfo/incorrect-variable-debugloc1.ll b/llvm/test/DebugInfo/incorrect-variable-debugloc1.ll
index 99c861a..18f2dc7 100644
--- a/llvm/test/DebugInfo/incorrect-variable-debugloc1.ll
+++ b/llvm/test/DebugInfo/incorrect-variable-debugloc1.ll
@@ -70,8 +70,8 @@
 !14 = !{!"clang version 3.6.0 (trunk 223522)"}
 !15 = !{i32 13}
 !16 = !{!"0x102"}               ; [ DW_TAG_expression ]
-!17 = !{i32 5, i32 16, !4, null}
-!18 = !{i32 5, i32 3, !4, null}
-!19 = !{i32 6, i32 7, !4, null}
-!20 = !{i32 7, i32 3, !4, null}
+!17 = !MDLocation(line: 5, column: 16, scope: !4)
+!18 = !MDLocation(line: 5, column: 3, scope: !4)
+!19 = !MDLocation(line: 6, column: 7, scope: !4)
+!20 = !MDLocation(line: 7, column: 3, scope: !4)