Use explicit class for dynamically resolved context services (Issue #1079)

Instead of using LazyRef which is perhaps too general and fails to get across the semantics of what is going on.
Rename DbContextConfiguration to DbContextServices to better reflect its function and renaming ContextService to DbContextService
Refactoring MigrationSqlGenerator to allow batching of sql statements, as well as producing multiple batches per migration operation. CR: Andrew, Brice, Emil
Fix #1070
Updated code to generate SQL for creating schemas.
Removed DelimitLiteral because it is equivalent to GenerateLiteral.