Refactor `PostgreSQL::TableDefinition#primary_key`

Because call the `column` method and set the `options[:primary_key]` is
handled at `super`, here need only treat the `options[:default]`.
Merge pull request #18221 from kamipo/refactor_table_definition_primary_key

Refactor `PostgreSQL::TableDefinition#primary_key`
Add a note about non-buffering servers for AC::Live

[ci skip]
reduce duplication in `ConnectionAdapters::Table` docs. [ci skip]

Most of the documentation very closely mirrors the matching
docs from `SchemaStatements`. I reduced duplicated copy and
added links to the underlying methods for the user to follow.
add autoload for `ForeignKeyDefinition`.

/cc @sgrif
Support for any type primary key.