Fixed an issue with migrating legacy json cookies.

Previously, the `VerifyAndUpgradeLegacySignedMessage` assumes all incoming
cookies are marshal-encoded. This is not the case when `secret_token` is
used in conjunction with the `:json` or `:hybrid` serializer.

In those case, when upgrading to use `secret_key_base`, this would cause a
`TypeError: incompatible marshal file format` and a 500 error for the user.

Fixes #14774.

*Godfrey Chan*
Merge pull request #14850 from chancancode/fix_json_cookie_jar

Fixed an issue with migrating legacy json cookies.
`ActiveRecord::Base.no_touching` no longer triggers callbacks or start empty transactions.

Closes #14841.
Merge pull request #14842 from lucasmazza/lm-no-touching-callbacks

Move `NoTouching` down the inheritance chain on AR::Base
Precompile the image we're referencing, too.

You can't compile a file that references a non-compiled asset's path.

.. unless you turn off asset runtime errors.

Outside of a test case like this, `config.assets.precompile` would
normally retain its default entry, which precompiles all images (and
other non-JS/CSS files) that are in `app/assets`.
Merge pull request #14852 from matthewd/fix_build_for_assets

Fix railties asset tests: precompile the image we're referencing