Simplify codegen diagnostic handling Some nice improvements. Details in the individual commit logs. r? ````@estebank````
String