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
Reorder conditional logic

According to the best practice that "unless not" and "unless else"
is hard to follow logically the link_to_unless and link_to_if
were reversed.
Fix a typo to make clause plural [ci skip]
Added a warning about serializing data with JSON cookie jars [skip ci]

Closes #14409
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.
only dump schema information if migration table exists. Closes #14217
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.
The digest option is no longer honoured since Rails 3.0 [ci skip]

Closes #8513
Deprecate Class#superclass_delegating_accessor
Warning removed (...) interpreted as grouped expression