Merge pull request #8402 from senny/8376_descriptive_error_message_for_partial_layout_true

More descriptive error when rendering a partial with `:layout => true`
Conflicts:
	actionpack/CHANGELOG.md
	actionpack/lib/action_view/renderer/partial_renderer.rb
handled respond_to? with private methods
Merge pull request #8405 from hsbt/fix-respond-initialize-dup

Handle respond_to? with private methods
Override <%== to always behave as literal text rather than toggling based on whether escaping is enabled. Fixes that existing plaintext email templates using <%== unexpectedly flipped to *escaping* HTML when #8235 was merged.

Conflicts:
	actionpack/test/template/template_test.rb
Use 1.8 hash style
Skip ruby-prof in Gemfile for Ruby 2.0
Use send in Time marshal extensions since the methods are now private

See https://github.com/ruby/ruby/commit/9c1b3161f20162dc1682d758c0e4d2fc3a74745e

All Active Support tests pass in 2.0.0preview2 after this change.
Closes #8409
Merge pull request #4942 from bogdan/pluck_joins

AR::Relation#pluck: improve to work with joins

Conflicts:
	activerecord/lib/active_record/relation/calculations.rb
	activerecord/test/cases/calculations_test.rb
Bump mailer to quiet the stdout log messages

Conflicts:
	actionmailer/actionmailer.gemspec
backport #8403, no intermediate AR objects when eager loading.

Closes #3313

Conflicts:

	activerecord/CHANGELOG.md
	activerecord/test/models/developer.rb
Merge pull request #8413 from senny/8403_backport

backport #8403, no intermediate AR objects when eager loading.
Make output of distance_of_time_in_words consistent

This commit fixes the output of distance_of_time_in_words when
using integer or duration arguments. Previously a distance of
more than 30 seconds would be output as 'Less than 1 minute'
when using integer arguments and '1 minute' when using two
Time instances more than 30 seconds apart.

Cherry picked from 5fdd4cd9e47be972f146a8a17a74c8f4700e2ac0
Make distance_of_time_in_words work with DateTime offsets

Because DateTime#to_time returns self when it has a non-zero offset
and subtracting two DateTime instances returns a Rational then the
distance_of_time_in_words methods outputs an incorrect value.

This is fixed in master because we can rely on Ruby 1.9.3's
implementation of to_time but it can't be fixed on Ruby 1.8.7 as
there is no way to map the DateTime to a Time with a non-zero offset.

We can workaround the problem by casting to Float before doing
the subtraction in the distance_of_time_in_words method.

Closes #8390
Merge pull request #8417 from kennyj/fix_8414

Fix #8414. Performance problem with postgresql adapter primary_key function.
Conflicts:
	activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
Unscope update_column(s) query to ignore default scope

When applying default_scope to a class with a where clause, using
update_column(s) could generate a query that would not properly update
the record due to the where clause from the default_scope being applied
to the update query.

    class User < ActiveRecord::Base
      default_scope where(active: true)
    end

    user = User.first
    user.active = false
    user.save!

    user.update_column(:active, true) # => false

In this situation we want to skip the default_scope clause and just
update the record based on the primary key. With this change:

    user.update_column(:active, true) # => true

Backport of #8436 fix.

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/persistence.rb
	activerecord/test/cases/persistence_test.rb
revised the actionmailer's CHANGELOG structure
Backport #8450, the return value from mailer methods is not relevant.
Conflicts:

	actionmailer/CHANGELOG.md
	actionmailer/lib/action_mailer/base.rb
Merge pull request #8477 from senny/backport_8448

Backport #8450, the return value from mailer methods is not relevant.
Remove warning of unused variable
Added regression test for #8195.