Revert "Port all remaining self.protected_instance_variables to class methods"

This reverts commit 7de994fa215e9f4c2856d85034bc4dd7b65d0c01.
Return to using protected_instance_variables in AV
Merge pull request #12110 from strzalek/revert-default-protected-instance-vars

Revert default protected instance vars
allow to test AR master against AR-JDBC master (with `ENV['AR_JDBC']`)
`export AR_JDBC=true` on travis-ci as a *before_install* (but on jruby only)
Move skeleton methods from AV to AbsC

The methods:

 * #render_to_body
 * #render_to_string
 * #_normalize_render

Haven't had anything specyfic to ActionView. This was common code which should belong to AbstractController
Make Mime::TEXT default format in AbstractController
Move BasicRendering to AbstractController
Merge pull request #12121 from strzalek/move-methods-to-abs-controller

Move glue methods & BasicRendering to AbstractController
Revert "Merge pull request #12085 from valk/master"

This reverts commit 15455d76c8d33b3767a61e0cdd2de0ff592098ef, reversing
changes made to ffa56f73d5ae98fe0b8b6dd2ca6f0dffac9d9217.
Fix a few typos. [ci skip]
Merge pull request #12126 from namusyaka/fix-some-typos

Fix a few typos.
Merge pull request #12065 from SamSaffron/result_optimisation

Perf: micro optimised Result column hash_row creation
support anonymous classes on has_many associations
adding a hm:t test for singleton ar objects
Pull the RelationMutationTests from cases/relation_test to cases/relation/mutation_test.
Deprecate the delegation of Array bang methods in ActiveRecord::Delegation

The primary means of returning results for Array bang methods is to modify
the array in-place. When you call these methods on a relation, that
array is created, modified, and then thrown away. Only the secondary
return value is exposed to the caller.

Removing this delegation is a straight-forward way to reduce user error
by forcing callers to first explicitly call #to_a in order to expose
the array to be acted on by the bang method.
Extracted from `order` processing of arguments, and use it for `reorder` to be consistent.
Merge pull request #11958 from jetthoughts/extract_pre_process_orders_args

Re-use order arguments pre-processing for reorder
Example of Join models

In the example of join models, there are five models but in the explanation only consider Category, Post, Comment and Guest.