This implements writing of the TPI stream from Yaml. This actually implements a generic TPI Stream builder / writer that is not tied to Yaml, but Yaml is just the vehicle used here to do the testing since we don't have linker support for writing PDBs yet.
Getting this to work was a little nasty due to the interactions between the normally stateless Yaml mappings and the stateful TypeTableBuilder. Because of that, this depends on D24162 which adds the ability to pass some state between yaml mappings, although that patch has yet to be looked at.
Is this header actually used? It seems like this part is rolled into TypeSerializationVisitor.