Fixes skipping object callback filters

This allows you to skip callbacks that are defined by objects, e.g. for
`ActionController`:

    skip_after_filter MySpecialFilter

Previously this didn't work due to a bug in how Rails compared callbacks
in `Callback#matches?`. When a callback is compiled, if it's an object
filter (i.e. not a method, proc, etc.), `Callback` now defines a method on
`@klass` that is derived from the class name rather than `@callback_id`.
So, when `skip_callback` tries to find the appropriate callback to
remove, `Callback` can regenerate the method name for the filter
object and return the correct value for `Callback#matches?`.
fix respond_to? for non selected column

fixes #4208

If a query selects only a few columns and gives custom names to
those columns then respond_to? was returning true for the non
selected columns. However calling those non selected columns
raises exception.

    post = Post.select("'title' as post_title").first

In the above case when `post.body` is invoked then an exception is
raised since `body` attribute is not selected. Howevere `respond_to?`
did not behave correctly.

    pos.respond_to?(:body) #=> true

Reason was that Active Record calls `super` to pass the call to
Active Model and all the columns are defined on Active Model.

Fix is to actually check if the data returned from the db contains
the data for column in question.
Merge pull request #10211 from neerajdotname/4208

fix respond_to? for non selected column
Typo Fix in AR CHANGELOG [ci skip]
Merge pull request #10273 from prathamesh-sonpatki/AR-typos

Typo Fix in AR CHANGELOG [ci skip]
Rewrites a CHANGELOG entry.

The entry is basically copy & paste of the commit message, but the CHANGELOG
has a different purpose than Git history, it just communicates what is new:

* No need to explain why did the bug happen (unless it is truly relevant).

* No need to explain how was the bug fixed.

* Whether the user gives new names to columns does not really matter, use of
  select to cherry-pick a column for example also presented that behaviour.
  Non-selected attributes are the key, either because they were not included
  in the selected list, or because they were but with a different alias.

* In the case of an attribute alias, what you really want to depict is that
  respond_to? returns false for the original attribute name.
if singletons belong to the contract, test them

Object#respond_to? returns singletons and thus we inherit that contract.
The implementation of the predicate is good, but the test is only
checking boolean semantics, which in this case is not enough.
Increase readability of ternary statement in build method
Merge pull request #10275 from buddhamagnet/master

Increase readability of ternary statement in build method
fix typos
Merge pull request #10280 from vipulnsward/fix_typos_temp

fix typos [ci skip]
Removing tests for deprecated options in active support. The
+use_full_path+ option was removed in 3b3790a4 and passing the template
handler to render was deprecated in 43d27e91.
Merge pull request #10283 from wangjohn/remove_tests_for_deprecated_options

Removing tests for deprecated options in active support.
Added tests for if condition in Active Model callbacks
Merge pull request #10284 from neerajdotname/missing-active-model-tests

Added tests for if condition in Active Model callbacks
fix wrong test description and failure message
Merge pull request #10286 from neerajdotname/fix-wrong-test-name-and-failure-message

fix wrong test description and failure message
fix README links in the main README.md
Merge pull request #10289 from maratvmk/readme

fix README links in the main README.md
extract path into variable