Currently ChangeTableSQL() bypasses datadict driver to
generate SQL statements. This results in non-working
SQL statements for some database engines (eg: Postgres).
This patch modifies ChangeTableSQL() to use
AlterColumnSQL() and AddColumnSQL() to generate native
SQL statements for database engine.
In addition, default values and "not null" attributes
are now included when checking for a change in existing