Require Ruby 2.2 for Rails 5.0

Stems from [this comment](https://github.com/rails/rails/pull/18203#issuecomment-68138096) by @robin850
and by the blog post http://weblog.rubyonrails.org/2014/12/19/Rails-4-2-final
actually autoload all second-level directories called `app/*/concerns`
Update example test documentation

Example does not work with session headers, should use request headers. [ci skip]
Merge pull request #18229 from benprew/patch-2

Update example test documentation
docs, cleanup Active Record CHANGELOG. [ci skip]
Merge pull request #18213 from agrobbin/moar-concerns

Actually autoload all second-level directories called `app/*/concerns`
Merge pull request #18209 from claudiob/bump-to-2-2

Require Ruby 2.2 for Rails 5.0
Minor documentation edits [ci skip]
Expectation comes first
Merge pull request #18231 from untidy-hair/improve_a_test

Expectation comes first
adjust args of Bundler.require in guides [ci skip]

Arguments of Bundler.require of generator has been changed from rails4.0.4.

https://github.com/rails/rails/blob/v4.0.4/railties/lib/rails/generators/rails/app/templates/config/application.rb#L16
Merge pull request #18232 from yousuketto/doc-for-bundler-require

adjust args of Bundler.require in guides [ci skip]
When trying to access a character on a string buffer object via `:[]`, if the object being accessed currently returns `html_safe?` as true,
we used to set  `@html_safe` variable as true on new object created. When doing something like

x = 'Hello'.html_safe
x[/a/, 1]

would throw an error on ruby 2.2, since when nothign gets matched nil is returned by the code and it tries to set   `@html_safe` value to true,
which would error since starting 2.2 nil is frozen.

This change adds a safety net to avoid setting `@html_safe = true` on frozen objects.

Fixes #18235
Merge pull request #18236 from vipulnsward/dont-eval-frozen

Fix html_safe string access modifying frozen values
Just check if the buffer exists before changing it
`eager_load` preserves readonly flag for associations
Add nodoc to touch at no_touching.rb

It is already docummented at persistence.rb.

[ci skip]
Merge pull request #18097 from k0kubun/readonly-eager_load

`eager_load` preserves readonly flag for associations
Rely on the injectable type caster for `arel_table`

This API will require much less consuming code to change to accomodate
the removal of automatic type casting from Arel. As long as the
predicates are constructed using the `arel_table` off of an AR subclass,
there will be no changes that need to happen.
Extract an explicit type caster class