Add compiler support for PostgreSQL "NOT VALID" constraints.
PostgreSQL supports declaring CHECK and FOREIGN KEY constraints as "NOT
VALID" which prevents the constraint from being validated on already
inserted rows, but still validates against any newly inserted or updated
rows.
This commit adds compiler support for this dialect option on
`CheckConstraint` and `ForeignKeyConstraint` classes. Although this
option doesn't make much sense on table creation, it doesn't seem to
cause any issue with Postgres and it is a preliminary step to have this
supported in Alembic during `ALTER TABLE`. Note that other constraints
types do not support this option.
See https://www.postgresql.org/docs/current/sql-altertable.html
See also #4825 which added supported for "NOT VALID" constraints
introsecpection.