Revert "Merge pull request #7661 from ernie/build-join-records-on-unsaved-hmt"

This reverts commit ee439895759b38431ad025f3c234831f30dadcdb.

It would appear that #7661 had unintended consequences to the API. Until
we can sort those out, this should not be in 3.2.x, and wait for 4.0.0.
Merge pull request #8895 from ernie/revert-hmt-on-unsaved-in-3-2

Revert hm:t on unsaved collection for 3.2
Remove unnecessary caching of ParameterFilter
Merge pull request #8907 from rubys/master

Fix regression introduced in pull 8812
Fix DateTime comparison with DateTime::Infinity object
Test to allow Range including DateTime and DateTime::Infinity

Closes #8587
Merge pull request #8927 from dkubb/issue-8178

Fix DateTime comparison with DateTime::Infinity object
Make tests for the presence of MiniTest consistent.

There is an inconsistency between the conditional logic in
the definition of ActiveSupport::TestCase and the conditional logic in
ActiveSupport::Testing::SetupAndTeardown [1].

In some circumstances, it's possible for MiniTest to be defined, but
for ActiveSupport::TestCase *not* to have MiniTest::Unit::TestCase or
MiniTest::Assertions in its ancestor chain. e.g. in Ruby 1.8 with the
minitest gem included in the bundle. In this case, the
Test::Unit/MiniTest shim/wrapper is not present and so
Test::Unit::TestCase (and therefore ActiveSupport::TestCase) is
completely independent of MiniTest::Unit::TestCase.

The conditional logic in the definition of ActiveSupport::TestCase does
not take this scenario into account, whereas the logic in
ActiveSupport::Testing::SetupAndTeardown does take it into account.

The changes in this commit are an alternative to the change in [2] which
was reverted in [3].

Similar conditional logic exists in ActiveSupport::Testing::Isolation
[4], ActiveSupport::Testing::Pending [5],
ActiveSupport::Testing::Performance [6], and in their respective tests.
I have not addressed these, because I know less about what's going on
there, but it would be worth bringing them all into line too.

[1]
https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/setup_and_teardown.rb#L13
[2]
https://github.com/rails/rails/commit/c3e186ec8dcb2ec26d5d56f3e89123b1350c4a6f
[3]
https://github.com/rails/rails/commit/267fb61277ac960ad443d239febcb3136a007d24
[4]
https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/isolation.rb#L41
[5]
https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/pending.rb#L14
[6]
https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/performance.rb#L17
Add regression test to #8907
Fix the TestCase class and make tests pass on ruby 2.0
Revert "Merge pull request #7983 from georgebrock/bug7950-squashed"

This reverts commit 88a296dccc401da143d90cad54b693ff06bf2b58, reversing
changes made to 666a7e34f553cef4c8878362eafc79c7e3f310c3.

Conflicts:
	activerecord/CHANGELOG.md

Reason: this has been resulting in some hard to track bugs and is
introducing a possible breackage in a stable version.
Revert "Work around undiagnosed bug that's draining a relation's bind_values"

This reverts commit 06cc38a2b0d4778746e8a2a2e2b6aa07e1c1c075.
Merge branch 'revert-binds-3-2' into 3-2-stable

This has been resulting in some hard to track bugs and is introducing
a possible breackage in a stable version. The issue it currently "fixes"
should be handled in some other way.

Closes #8743. Related to #7983.
Merge pull request #8914 from nilbus/fix-header-bloat

Remove header bloat introduced by BestStandardsSupport middleware
Conflicts:
	actionpack/CHANGELOG.md
Merge pull request #8933 from freerange/3-2-stable-with-minitest-fix

Make tests for the presence of MiniTest consistent