Fix bug, when ':dependent => :destroy' option violates foreign key constraints, issue #12380
Moved explanation of `--mountable` option up

The example code uses `--mountable`. In previous version this was followed by an explanation of the `--full` option, which doesn't make sense. Later on in the text this is better explained. I moved this explanation up without repeating too much.
skip migration check if adapter doesn't support it
Added missing test case for migrations when using sql structure
Prevent state leak.
Remove redundant code.
Refactor determination of max updated timestamp

`[].max # => nil`
Add test cases for #in? and #presence_in
begin refactoring add_constraints by moving join keys

add_constraints is complicated and difficult to read. This is the
beginning of a long process of refactoring this code. First step:
moved the join keys out of AssociationScope and into reflection.

We then don't need to call `reflection` because now reflection is
`self`.

`foreign_key` must be named something else because reflection already has a
`foreign_key` method and when passed into `JoinKeys` it was getting the
wrong assignment. `reflection_foreign_key` seemed to be an appropriate name.
I also named `key` `reflection_key` to match `reflection_foreign_key`.
use name specified by 'as' for automatic inverse association to avoid reflecting on wrong association
add missing changelog entry. refer [#16db90d] [ci skip]
Merge pull request #15635 from kuldeepaggarwal/add-missing-changelog

add missing changelog entry. refer [#16db90d] [ci skip]
fix typo in changelog [ci skip]
Fix Apache Directives [ci skip]

Directives need to be placed on their own lines in order to work. Tested on: `Server version: Apache/2.2.22 (Ubuntu); Server built:   Mar 19 2014 21:11:15`
Merge pull request #15636 from hundredwatt/patch-1

Fix Apache Directives [ci skip]
cleanup, get rid of trailing whitespace. [ci skip]

Follow up to #15636.

/cc @hundredwatt
Remove deprecation warning
Ensure `column_types` returns a type object, and not a column
Remove YAML serialization workaround for columns

We are no longer including column objects in YAML serialization, thanks
to https://github.com/rails/rails/pull/15621
rm cached attributes

The original patch that added this concept can be found
[here](https://web.archive.org/web/20090601022739/http://dev.rubyonrails.org/ticket/9767).
The current default behavior is to cache everything except serialized
columns, unless the user specified otherwise. If anyone were to specify
otherwise, many types would actually be completely broken. Still, the
method is left in place with a deprecation warning in case anyone is
actually still calling this method.