Backport #8078: Fix `attributes_before_type_cast` for serialised attributes.

Public method attributes_before_type_cast used to return internal AR structure (ActiveRecord::AttributeMethods::Serialization::Attribute), patch fixes this. Now behaves like read_attribute_before_type_cast and returns unserialised values.
Revert "Respect children paths filter settings"

This reverts commit 53778ec2d716f860646fd43957fd53c8db4da2fe.
Closes #8146
Lock sprockets to 2.2.x
Fix redirect example block

See #8160. [ci skip]
Bump up to 3.2.9.rc3
Revert "Add test case to assets eager load"

This reverts commit 552a3e145373cabe25a78d8d7cba2ceaabd9ecc5.
Bump to 3.2.9
Merge pull request #8154 from bogdan/has_one_association_performance

Remove unwanted transaction when has one association is built

Conflicts:
	activerecord/CHANGELOG.md
Add release date of Rails 3.2.9 to documentation
Lock mocha in ~> 0.12.x until we fix the Ruby 1.8.7 issues with 0.13.0
backport #8185, `#as_json` isolates options when encoding a hash.

Setting options in a custom `#as_json` method had side effects.
Modifications of the `options` hash leaked outside and influenced
the conversion of other objects contained in the hash.

Conflicts:

	activesupport/CHANGELOG.md
Copy Mocha bug fix.

A bug was fixed [1] in Mocha's integration with Test::Unit, but this
monkey-patching code was copied before the fix. We need to copy the
fixed version.

The bug meant that an unexpected invocation against a mock within the
teardown method caused a test *error* and not a test *failure*.

[1]
https://github.com/freerange/mocha/commit/f1ff6475ca2871f2977ab84cabbbfe2adadbbee6#diff-5
Use MiniTest in Ruby 1.8 if it is available.

ActiveSupport::TestCase was always inheriting from Test::Unit::TestCase.
This works fine in Ruby 1.9 where Test::Unit::TestCase is a thin wrapper
around MiniTest::Unit::TestCase, but does not work in Ruby 1.8 if the
MiniTest gem is used. What happens is that ActiveSupport inherits from
the Test::Unit::TestCase provided by the standard library, but then
since Minitest is defined, it then seems to proceed on the assumption
that ActiveSupport::TestCase has MiniTest::Unit::TestCase in its
ancestor chain. However, in this case it does not.

The fix is simply to choose which test library TestCase to inherit from
using the same logic used elsewhere to detect MiniTest.

I noticed this bug causing issues when using MiniTest and Mocha
in Ruby 1.8, but there may well be other issues.
Fix for Test::Unit Mocha compatibility.

Mocha is now using a single AssertionCounter which needs a reference to
the testcase as opposed to the result.

This change is an unfortunate consequence of the copying of a chunk of
Mocha's internal code in order to monkey-patch Test::Unit.
Avoid a Mocha deprecation warning.
Fix json encoding test with ruby 1.8.7 and random hash order

Introduced in 3e53fe6.
Update mocha version to 0.13.0 and change requires
Add changelog entry for #8200 [ci skip]
Fix warning with assigned but not used variable
Revert "Use MiniTest in Ruby 1.8 if it is available."

This reverts commit c3e186ec8dcb2ec26d5d56f3e89123b1350c4a6f.

Reason: too many incompatibilities make a lot of Rails tests fail in 1.9.
Might need more work to get this done properly in 3-2 if necessary.