Improve exception message for HasManyThroughAssociationPolymorphicSourceError

Exception message was misleading, as it is possible to have a
polymorphic 'has_many :through' join model.
Support MySQL SSL in rails dbconsole.
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)
Merge pull request #7601 from jrochkind/connection_pool_unify_exceptions

ConnectionPool, unify exceptions, ConnectionTimeoutError
Action Mailer async flag is true by default using a Synchronous impl
fixed support for DATABASE_URL for rake db tasks
- added tests to confirm establish_connection uses DATABASE_URL and
  Rails.env correctly even when no arguments are passed in.
- updated rake db tasks to support DATABASE_URL, and added tests to
  confirm correct behavior for these rake tasks.  (Removed
  establish_connection call from some tasks since in those cases
  the :environment task already made sure the function would be called)
- updated Resolver so that when it resolves the database url, it
  removes hash values with empty strings from the config spec (e.g.
  to support connection to postgresql when no username is specified).
warning removed.

1. Unused variable
2. possibly useless use of a variable in 
void context
Fix build Rails.queue

see 34b23e7110a3a13cf157608cefc9b5701017bf39
remove '.rb' from require call
Merge pull request #7610 from arunagw/warning_removed_action_pack

warning removed.
Merge pull request #7615 from NARKOZ/patch-2

Remove '.rb' from require call
Merge pull request #7612 from arunagw/build_fix_queue

Fix build Rails.queue
Merge pull request #7521 from graceliu/fix_database_url_support

Fixed support for DATABASE_URL for rake db tasks
Added additional comments on how to use the "type" column without
single-table inheritance by overriding it in your ActiveRecord
Model.