AR::Base.becomes should not change the STI type

If you want to change the STI type too, use AR::Base.becomes! instead
Add test to ensure preloading works as expected with "select" and "includes".

This didn't work in rails 3.1. See #2303 for more information and original pull request.
Merge pull request #8258 from kommen/eager_loading_with_select_test2

Add test to ensure preloading works as expected with "group", "select" and "includes".
Ensure ordering to make the test pass with postgresql
Revert "Merge pull request #4575 from carlosantoniodasilva/remove-test-pending"

This reverts commit 1620df78dff527b4fa3f7b204fa05d1b630aae17, reversing
changes made to 2d000328dfc0d4b297fb4bdcebc9af6c2fb559dc.

Conflicts:
	activesupport/CHANGELOG.md
	activesupport/lib/active_support/test_case.rb
Properly deprecate #pending from AS::TestCase

Check https://github.com/rails/rails/pull/4575#issuecomment-5765575.
Merge branch 'deprecate-pending'

Properly deprecate #pending from AS::TestCase. This has been previously
removed from master, and is now back with a deprecation instead, to avoid
people having tests breaking when upgrading an app.

Please check #4575 for more background.
Add rename_index to change_table.
Merge pull request #8266 from CvX/index_rename

Add rename_index to change_table.
Merge pull request #3023 from Tho85/preserve_sti_type

AR::Base.becomes should not change the STI type

Conflicts:
	activerecord/CHANGELOG.md
displaying error message(p tag was missing) and adding output as comment 
Fix rails db command with sqlite3 database

When using sqlite3 it was attempting to find the database file based on
Rails.root, the problem is that Rails.root is not always present because
we try to first manually load "config/database.yml" instead of loading
the entire app, to make "rails db" faster.

This means that when we're in the root path of the app, calling "rails db"
won't allow us to use Rails.root, making the command fail for sqlite3
with the error:

    ./rails/commands/dbconsole.rb:62:in `start':
      undefined method `root' for Rails:Module (NoMethodError)

The fix is to simply not pass any dir string to File.expand_path, which
will make it use the current directory of the process as base, or the
root path of the app, which is what we want.

When we are in any other subdirectory, calling "rails db" should work
just fine, because "config/database.yml" won't be found, thus "rails db"
will fallback to loading the app, making Rails.root available.

Closes #8257.
Refactor config abort message a bit for dbconsole

Remove not used variable.
Remove config attr_reader causing warning.
Fix indent in runner file.
Merge pull request #8256 from nalwayaabhishek/master

Displaying error message if validation fail in examples (p tag was missing)
Merge pull request #8262 from senny/8229_correct_bundler_require_in_engines

require bundler groups to include rake-tasks in engines
Initialize accessors to remove some warnings in Ruby 2.0
Remove not needed begin..end from AR#save
Fix UpgradeSignatureToEncryptionCookieStore doc
Add UpgradeSignatureToEncryptionCookieStore to upgrading_ruby_on_rails guide
Explicit multipart messages respect :parts_order

As issue #7978, the order in which ActionMailer
sends multipart messages could be unintentionally
overwritten if a block is passed to the mail
method. This changes the mail method such that
:parts_order is always respected, regardless of
whether a block is passed to mail.