add tests for nested lambda constraints
push some options munging to an alternate constructor
add tests for mixing :to and controller / action
use the factory method to construct the mapping
Fix regression on eager loading association based on SQL query rather
than existing column.

Fixes #15480.
Revert "test pg, we don't care about the internal state of `column#default`."

Revert "test pg, remove unused column assignments. Follow up to 254cdf47"

Related to #15492

This reverts commit 254cdf4728291277f3fbaa854f34495030e476b4.
This reverts commit 4bcf9029452e0c760af04faab6b549710401e8cf.

There are public methods that assume `Column#default` is type casted.
The return value of `Column#default` is publicly relevant and should not change.

/cc @sgrif
Routes specifying 'to:' must be a string that contains a "#" or a rack
application.  Use of a symbol should be replaced with `action: symbol`.
Use of a string without a "#" should be replaced with `controller: string`.
oops! :bomb:
Merge pull request #15447 from akshay-vishnoi/test-cases

Test `except!` in other cases too
Add default_i18n_subject to the guides

[ci skip]
force table creation
Merge pull request #15493 from bf4/relax_mail_dep

Relax mail gem constraint from ~> 2.5.4 to ~> 2.5
Merge pull request #15492 from sgrif/sg-dirty-defaults

Keep column defaults in type cast form
Pluralize params
Merge pull request #15172 from notEthan/active_record_pretty_print

implement ActiveRecord::Base#pretty_print

Conflicts:
	activerecord/CHANGELOG.md
Merge pull request #15349 from tgxworld/remove_duplicated_method_call

Remove duplicated HashWithIndifferentAccess#with_indifferent_access.
Merge pull request #15438 from sgrif/sg-null-column

Return a null column when no column exists for an attribute

Conflicts:
	activerecord/CHANGELOG.md
Partially revert deprecation of *_filter

We are going to deprecate only on Rails 5 to make easier plugin
maintainers support different Rails versions. Right now we are only
discouraging their usage.

This reverts commit 6c5f43bab8206747a8591435b2aa0ff7051ad3de.

Conflicts:
	actionpack/CHANGELOG.md
push splitting "to" up the callstack
Convert StrongParameters cache to a hash. This fixes an unbounded
memory leak demonstrated on @tenderlove's latest blog post:

http://tenderlovemaking.com/2014/06/02/yagni-methods-are-killing-me.html