* dotnet program-gen targets .NET 6
* changelog entry
* Update GH workflows to use .NET 6
* Enable DOTNET_ROLL_FORWARD=Major for GH workflows
* Expose GeneratePrograms with ability to provide generation options. Use specialized options for import
* Bump dotnet test projects TFM and relax warnings as errors
* refactor code according to Ian's comments
* Include error in generator diagnostics when unable to find function schema
* remove specialized version of GenerateProgram for import and refactor lowerExpression
* remove AcceptCodegenChanges from program driver
* dotnet integration tests updated to net6.0
* Generate return await on top-level Deployment.RunAsync
This change fixes the provider implementation of `Construct` for multi-lang components written in Node.js to wait for any in-flight RPCs to finish before returning the results, s.t. all registered child resources are created.
In additional, invocations of `construct` are now serialized so that each call runs one after another, avoiding concurrent runs, since `construct` modifies global state. We'll follow-up with a more general concurrency fix to allow nested `construct` calls within the same provider.