create placeholder tables for non-reflected remotes
Fixed regression in version 1.18.0 due to :ticket:`1771` where autogenerate
would raise ``NoReferencedTableError`` when a foreign key constraint
referenced a table that was not part of the initial table load, including
tables filtered out by the
:paramref:`.EnvironmentContext.configure.include_name` callable or tables
in remote schemas that were not included in the initial reflection run.
The change in :ticket:`1771` was a performance optimization that eliminated
additional reflection queries for tables that were only referenced by
foreign keys but not explicitly included in the main reflection run.
However, this optimization inadvertently removed the creation of
:class:`.Table` objects for these referenced tables, causing autogenerate
to fail when processing foreign key constraints that pointed to them.
The fix creates placeholder :class:`.Table` objects for foreign key targets
that are not reflected, allowing the autogenerate comparison to proceed
without error while maintaining the performance improvement from
:ticket:`1771`. When multiple foreign keys reference different columns in
the same filtered table, the placeholder table accumulates all necessary
columns. These placeholder tables may be visible when using the
:paramref:`.EnvironmentContext.configure.include_object` callable to
inspect :class:`.ForeignKeyConstraint` objects; they will have the name,
schema and basic column information for the relevant columns present.