report correct line number for NameErrors (as CompilerDiagnostics)
Major refactoring of TestPythonFunctionBuildStep

Factored generation of test scaffolding into a separate step
(AddPythonFunctionScaffoldingBuildStep.)

Improved the capturing and reporting of diagnostics: all
exceptions that occur during "compilation" are now reported
as CompilerDiagnostics.  (For example, missing imports are now
reported as CompilerDiagnostics.)