Still touch associations when theres no timestamp

Prior to Rails 4.0.4 when touching a object which doesn't have timestamp
attributes (updated_at / updated_on) rails would still touch all
associations. After 73ba2c14cd7d7dfb2d132b18c47ade995401736f it updates
associations but rollsback because `touch` would return nil since
there's no timestamp attribute
Fix a typo to make clause plural [ci skip]
Merge pull request #14429 from chriskohlbrenner/fix_typo_ar_querying_guide

Fix a typo to make clause plural [ci skip]
Added a warning about serializing data with JSON cookie jars [skip ci]

Closes #14409
Merge pull request #14431 from chancancode/warn_about_json_cookie_jars

Added a warning about serializing data with JSON cookie jars [skip ci]
Extract common setup for loading tasks in rake notes tests
Remove extra space assertion

No need to check that each line contains an extra space, just matching
the space in the regexp is enough to ensure that.
Extract rake notes command and lines scan boilerplate

Refactor to a reusable method.
Move booting/loading tasks setup to the rake notes helper method
Refactor assertion of line numbers matching 4 spaces
ActiveRecord#touch should accept multiple attributes #14423
Cleaning and adding tests for Session

Adding tests for Session `destroy`, `update` and `delete` methods. No changes for code under test.
Merge pull request #14433 from adomokos/cleaning_up_and_adding_session_tests

Cleaning up and adding tests for Session
only dump schema information if migration table exists. Closes #14217
Merge pull request #14423 from yakko/persistence-touches-many

ActiveRecord#touch should accept multiple attributes

Conflicts:
	activerecord/CHANGELOG.md
Improve touch docs with extra attributes passed in [ci skip]
Check if the output is empty rather than asserting for equality

Also fix indent of test block.
Remove some indirection in rake dbs test

Just pass in the expected database as argument rather than "caching"
it in a hash and using the hash in the helper methods.
Postgres schema: Constrain sequence search classid

The pk_an_sequence_for query previously joined against pg_class's oid
for rows in pg_depend, but pg_depend's objid may point to other system
tables, such as pg_attrdef.  If a row in one of those other tables
coincidentally has the same oid as an (unrelated) sequence, that
sequence name may be returned instead of the real one.

This ensures that only the pg_depend entries pointing to pg_class are
considered.
Remove extra indirection for testing exceptions and messages

assert_raise + assert_equal on the returned exception message work
just fine, there is no need for extra work, specially like this overly
complicated helper.