Eager autoload ActiveRecord association helpers
Eager autoload Preloader classes

Without eager autoloading, these would be autoloaded
only when #preloader_for is called, which is too late
in threaded applications.
Merge pull request #7905 from jfirebaugh/eager_autoload_3-2

Backport eager autoloading fixes
Fix has_many assocation w/select load after create

If you create a new record via a collection association proxy that has
not loaded its target, and which selects additional attributes through
the association, then when the proxy loads its target, it will
inadvertently trigger a deprecation notice during attribute writing when
CollectionAssociation#merge_target_lists attempts to do its thing, since
the newly loaded records will possess attributes the created record does
not.
Merge pull request #7925 from ernie/3-2-fix-collection-associations-with-select

Fix has_many assocation w/select load after create
#7914 get default value when type uses schema name

PostgreSQL adapter properly parses default values when using multiple
schemas and domains.

When using domains across schemas, PostgresSQL prefixes the type of the
default value with the name of the schema where that type (or domain) is.

For example, this query:
```
SELECT a.attname, d.adsrc
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = "defaults"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum;
```

could return something like "'<default_value>'::pg_catalog.text" or
"(''<default_value>'::pg_catalog.text)::text" for the text columns with
defaults.

I modified the regexp used to parse this value so that it ignores
anything between ':: and \b(?:character varying|bpchar|text), and it
allows to have optional parens like in the above second example.
7914 Using a better way to get the defaults from db.

Changes:

* According to postgreSQL documentation:
(http://www.postgresql.org/docs/8.2/static/catalog-pg-attrdef.html)
we should not be using 'adsrc' field because this field is unaware of
outside changes that could affect the way that default values are
represented. Thus, I changed the queries to use
"pg_get_expr(adbin, adrelid)" instead of the historical "adsrc" field.

* Remove parsing of character type default values for 8.1 formatting since
Rails doesn't support postgreSQL 8.1 anymore.

* Remove misleading comment unrelated to code.
Merge pull request #7940 from arturopie/7914-backport-to-3-2-stable

Backport fix of issue #7914 to 3-2-stable
Synchronize around deleting from the reserved connections hash.
Fixes #7955
Merge pull request #7371 from csmuc/fix_dup_validation_errors

Dup'ed ActiveRecord objects may not share the errors object
Conflicts:
	activerecord/CHANGELOG.md
	activerecord/test/cases/dup_test.rb
Use `Rails.env` instead of `ENV['RAILS_ENV']`; #7951

`ENV['RAILS_ENV']` is not defined unless explicitly specified on the
command line when running `rake db:structure:load`. This patch lets
the rake task retrieve the environment from `Rails.env` which defaults
to "development".
active_model/validations requires necessary files to run
Merge pull request #7989 from senny/backport_7969

backport: active_model/validations requires necessary files to run
Require ActionController::Railtie in the default middleware stack.

This will make possible to do a frameworkless initialization since the
the default middleware stack is self contained.
Merge pull request #7986 from Grandrath/patch-2

Fix behavior of `rake db:structure:load` for 3.2.8