Remove unnecessary include for integration tests.
Ensure we always use instances of the adapter specific column class

- Create a consistent API across adapters for building new columns
- Use it for custom properties so we don't get `UndefinedMethodError`s
  in stuff I'm implementing elsewhere.
[ci skip] Make last note show up in postgresql guide.
Merge pull request #15403 from JuanitoFatas/doc/pg-guide-note

[ci skip] Make last note show up in postgresql guide.
Merge pull request #15397 from sgrif/sg-column-class

Ensure we always use instances of the adapter specific column class
Merge pull request #15061 from tgxworld/remove_unnecessary_include

Remove unnecessary include for integration tests.
Result sets never override a model's column type

MySQL and PostgreSQL provide a column type override in order to properly
type cast computed columns included in a result set. This should never
override the known types of full fledged columns. In addition to messing
up computed properties, this would have led to inconsistent behavior
between a record created with `new`, and a record created with `last` on
the mysql adapter in the following cases:

- `tinyint(1)` with `emulate_booleans` set to `false`
- `text`, `string`, `binary`, and `decimal` columns
Merge pull request #15406 from sgrif/sg-column-type-override

Result sets never override a model's column type
Name#model_name doesn't return a String object
Merge pull request #15407 from ShunsukeAida/correct_model_name_example

fixed ActiveModel documentation [ci skip]