An instruction can currently have up to one prof metadata type associated with
it. It's useful to be able to have more than one prof metadata associated with
an instruction, going forward.
This patch introduces an optional two-level structure in addition to the current
single-level one. For example,
br i1 %cond, label %then, label %else, !prof !0
!0 = !{!"branch_weights", i32 64, i32 4} ; Single-level
br i1 %cond, label %then, label %else, !prof !1
!1 = !{!1, !2, !3, !4} ; Two-level
!2 = !{!"branch_weights", i32 64, i32 4}
!3 = !{!"foo"}
!4 = !{!"bar"}