Fixed TypeDef.DefineNew to always refresh the TypeDef before returned.
Rewrote how metadata TypeDefBuilder instances are converted to "real" TypeDefs, now assured to be done recursively.
Changed the implementation of MetadataPopulation.CreateColumnInstances to use new HostedColumn instance to determine the column type from that rather than a property (that might not exist, due to a private field). This essentially fix #2061.