Improve exception message for HasManyThroughAssociationPolymorphicSourceError

Exception message was misleading, as it is possible to have a
polymorphic 'has_many :through' join model.
Fix annoy warning, when executing testcase.
Remove expired comment. This method is used from other place.
Merge pull request #7432 from kennyj/fix_annoy_warning

Suppress  annoy warning, when executing AR's testcases.
Changelog entry for PR #7560
Merge pull request #7591 from bogdan/callbacks-changelog

Changelog entry for PR #7560
Revert "Changelog entry for PR #7560"

This reverts commit ca80067bbe4662c60b933188ad3769605742e812.
Entry already added in 895233
Merge pull request #7592 from bogdan/callbacks-changelog

Revert "Changelog entry for PR #7560"
Support MySQL SSL in rails dbconsole.
Rake assets:precompile shouldn't fail quietly.
We should show to user original issue if rake task will be aborted.
Merge pull request #7586 from route/precompile-should-not-fail-quietly

Rake assets:precompile shouldn't fail quietly.
Add .rb template handler

This handler simply allows arbitrary Ruby code as a template
Merge pull request #7594 from guilleiguaran/rb-template-handler

Add .rb template handler
Merge pull request #7569 from skorfmann/improve-has-many-through-exception-message

Improve exception message for HasManyThroughAssociationPolymorphicSourceError
Merge pull request #7488 from needfeed/master

Have rails dbconsole pass sslca to the mysql command line client.
ConnectionPool, unify exceptions, ConnectionTimeoutError

As a result of different commits, ConnectionPool had become
of two minds about exceptions, sometimes using PoolFullError
and sometimes using ConnectionTimeoutError. In fact, it was
using ConnectionTimeoutError internally, but then recueing
and re-raising as a PoolFullError.

There's no reason for this bifurcation, standardize on
ConnectionTimeoutError, which is the rails2 name and still
accurately describes semantics at this point.

History

In Rails2, ConnectionPool raises a ConnectionTimeoutError if
it can't get a connection within timeout.

Originally in master/rails3, @tenderlove had planned on removing
wait/blocking in connectionpool entirely, at that point he changed
exception to PoolFullError.

But then later wait/blocking came back, but exception remained
PoolFullError.

Then in 02b233556377 pmahoney introduced fair waiting logic, and
brought back ConnectionTimeoutError, introducing the weird bifurcation.

ConnectionTimeoutError accurately describes semantics as of this
point, and is backwards compat with rails2, there's no reason
for PoolFullError to be introduced, and no reason for two
different exception types to be used internally, no reason
to rescue one and re-raise as another.  Unify!
Use native mysqldump command for 'rake db:structure:dump'.
Use configuration['encoding'], because database configuration use not charset but encoding.
Merge pull request #7564 from kennyj/using_mysqldump

Use mysqldump native commands when rake db:structure:dump. Closes #5547
Fixes database tasks config to use encoding instead of charset.
Accept belongs_to assoc. keys in ActiveRecord queries

Allows you to specify the model association key in a belongs_to
relationship instead of the foreign key.

The following queries are now equivalent:

Post.where(:author_id => Author.first)
Post.where(:author => Author.first)

PriceEstimate.where(:estimate_of_type => 'Treasure', :estimate_of_id => treasure)
PriceEstimate.where(:estimate_of => treasure)