text: Title: Autogenerate does not respect the `version_table` used together with `version_table_schema`
  Body: Alembic: 1.0.10
  SQLAlchemy: 1.3.4
  Python: 3.7.3
  Postgres server: 10.4
  --- 
  My goal is to: 
  1. have all application tables in a custom named schema `auth`
  2. have migrations table in the same schema and renamed to `db_migrations`
  3. being able to apply migrations to the given schema
  4. being able to autogenerate migrations for the given schema
  
  I have achieved 1,2,3 but not 4.
  
  For schema I've added following configurations.
  In application model:
  ```
  Base = declarative_base(metadata=MetaData(schema=schema_name))
  ```
  I've made no changes to `Table` objects. As I understand - `Table.schema` is populated from `Base.metadata.schema` if no schema provided explicitly.
  
  In application bootstrap:
  ```
          ...
          flask_app.config['SQLALCHEMY_DATABASE_URI'] = db_url
          # set default schema to use
          flask_app.config['SQLALCHEMY_ENGINE_OPTIONS'] = {
              "connect_args": {'options': f'-csearch_path={schema_name}'}
          }
          ...
  ```
  
  In alembic `env.py`:
  ```
  def run_migrations_online():
      ...
      connectable = engine_from_config(
          ...
          # define schema search path for connection
          connect_args={'options': f'-csearch_path={app_name}'}
      )
      with connectable.connect() as connection:
          context.configure(
              connection=connection,
              target_metadata=target_metadata,
              include_schemas=True,
              version_table_schema=app_name,
              version_table="db_migrations",
          )
  
  ```
  With the above all tables are created correctly in the target schema, the migrations metadata table is created there as well, and used correctly for migrations. All as expected.
  
  Not as expected is that when I run `alembic revision --autogenerate` on a full up-to-date DB I get the following migration:
  ```
      op.drop_table('db_migrations')
      op.drop_constraint('refresh_token_user_id_fkey', 'refresh_token', type_='foreignkey')
      op.create_foreign_key(None, 'refresh_token', 'user', ['user_id'], ['id'], source_schema='auth', referent_schema='auth')
      ...
  ```
  So it tries to drop the migrations table, and also tries to recreate the foreign keys with the schema explicitly defined. There are several more similar foreign key statements.
  
  Also I've tried to regenerate some of existing migrations and I found out that it ignores actual model changes.
  
  Also I've tried to remove  `version_table="db_migrations"`, to no effect. As long as `version_table_schema` is there - it tries to delete `alembic_versions` default table as well.
  
  I know there is #77 that supposedly fixed/implemented schemas for autogeneration script.
  Am I missing some configuration here or is it an actual problem I'm hitting?