Make change_table use object of current database adapter

- Earlier, change_table was creating database-agnostic object.
- After this change, it will create correct object based on current
  database adapter.
- This will ensure that create_table and change_table will get same objects.
- This makes update_table_definition method public and nodoc.
- Fixes #13577 and #13503