CollectionProxy uses the arel of its association's scope.

CollectionProxy should be able to reuse the behavior (methods) of its parent class,
but with its own state. This change allows CollectionProxy to use the arel object
corresponding to its association's scope.
Prevent state leak in test.

This will allow us to run the tests in random order.
Merge pull request #14593 from tgxworld/fix_postgresql_schema_test_random_order

Prevent state leak in test.
Ensure we supply Kernel#y for 1.9 too

In 1.9, it doesn't live in its own file, so we'll have to define it
ourselves.

Check RUBY_VERSION, instead of rescuing the require, because we want
this to break if `psych/y` moves in a future Ruby release.
Merge pull request #14597 from matthewd/kernel_y_for_1_9_option_1

Ensure we supply Kernel#y for 1.9 too
Active support instead of ActiveSupport::Deprecation.silence we can use assert_deprecated
Merge pull request #14598 from rajcybage/assert_dprecated_for_as_test_case

Active support instead of ActiveSupport::Deprecation.silence we can use assert_deprecated
Remove unused variable
add missing parentheses to validates_with documentation [skip ci]
Merge pull request #14599 from spagalloco/patch-1

add missing parentheses to validates_with documentation [skip ci]
Merge pull request #14562 from jefflai2/collection_proxy

CollectionProxy uses the arel of its association's scope.

Conflicts:
	activerecord/CHANGELOG.md
The comparison between `Relation` and `CollectionProxy` should be consistent.

Example:

    author.posts == Post.where(author_id: author.id)
    # => true
      Post.where(author_id: author.id) == author.posts
    # => true

Fixes #13506