Janitorial work... (Two small code cleanups)

1. Call the ServiceCollection.AddXxx methods with fewer generic arguments now that the DI APIs have been updated to allow this.
2. Stop passing in CancellationToken.None where not required because of default argument.
Added APIs to ModelBuilder to be able to construct a model without requiring CLR types.
Updated the CSharpModelCodeGenerator to generated code that uses the new APIs.
Added and updated unit tests.