Refactoring MigrationSqlGenerator to allow batching of sql statements

as well as producing multiple batches per migration operation