This patch adds classes to create an API for creating and updating DB schema over time by allowing the user to define Migrations that update the database from one version to the next. The API is designed to closely match the SQL syntax used to manipulate tables so it is very intuitive. The patch includes unit tests for most functionality, although more could still be done. There is also a code generator to generate the initial migration that will create the database for the first time using the information provided in the DataMaps. In the future this would be a great addition to CayenneModeler along with a generator to create a migration for delta changes to existing schemas.