Added a visitor (DatabaseModelModifier) that will be used to keep the da...

...tabase model up to date while the migration operations are handled.

Updated code in migrator to be able to determine the source model for a migration which is the target model of the previous migration, or empty model if first.
Updated code to pass the source database model to the migration operation SQL generators instead of target model. The database model is cloned and updated as the operations are handled.
Updated code to use the migration operation sql generator factories where needed (was TODO).