Refactor AR's validations_test.rb

The `:context` switch feature is implemented in
ActiveRecord::Validations#valid? method, so we should rename the test
names, and execute `valid?` in the test.

Change test name in AR's validations_test.rb

This test is testing save method's code
docs, make `ActionNotFound` public API. [ci skip]

This is a follow up to #15058.

This exception is regularly raised during development. This means it will enter
the user realm. We should provide an API page to show that this exception is public API.

/cc @schneems
Make TimeZone#parse behave more like Time#parse.

Namely, if the mday is omitted but any other upper components are, then instead
of supplying the mday from the current time, it defaults to 1.
Tidy up implementation of #15010
Replace :base with :in [ci skip]
Merge pull request #15059 from marcioj/patch-1

Replace :base with :in [ci skip]
Merge pull request #10662 from take/change-test-name-for-ActiveRecord--Validations#valid-

Refactor AR's validations_test.rb
Remove redundant tests method.
correcting method documentation [ci skip]
Merge pull request #15063 from cbeer/correct-attribute_present-docs

correcting method documentation [ci skip]
Update attribute_methods.rb

Improve documentation
Merge pull request #15060 from tgxworld/remove_unnecessary_tests_method

Remove redundant tests method.
Modify assert conditions not to be affected
by each database bind variable naming conventions
Merge pull request #14999 from yahonda/modify_bind_variable_name

Modify assert conditions not to be affected
by each database bind variable naming conventions

Closes #14999.
Handle other pk types in PostgreSQL gracefully.

In #10410 it was noted that you can no longer create PK's with the
type of bigserial in PostgreSQL in 4.0.0.rc1. This is mostly
because the newer adapter is checking for column type with the
id column instead of just letting it pass through like it did
before.

Side effects:
You may just create a PK column of a type that you really don't
want to be your PK. As far as I can tell this was allowed in 3.2.X
and perhaps an exception should be raised if you try and do
something extremely dumb.
Merge pull request #10505 from patricksrobertson/bigserial_id_not_identifying_pk

Handle other pk types in PostgreSQL gracefully.

Closes #10505.

- rebased
- test slightly modified
pg, fix Infinity and NaN values conversion.

Before this patch `Infinity`, `-Infinity` and `Nan` were read as `0`.
Merge pull request #13334 from gregolsen/postgresql_infinity

pg, fix Infinity and NaN values conversion.

Closes #13334.

* rebased
* removed guard
* inlined guard into case statement
pg, map `char` and `name` types as string. [dark-panda & Yves Senn]

Closes #10802.
pg, `change_column_default` accepts `[]`. Closes #11586.