Add Migration#reversible for reversible data operations [#8267]
Add drop_join_table [#8267]
Make drop_table reversible [#8267]
Differentiate between remove_column and remove_columns. Make remove_column reversible.
[#8267]
Make remove_index reversible [#8267]
Factorize methods that are easily reversible [#8267]
Migration generators use `change` even for destructive methods [#8267]
Make change_table reversible when possible [#8267]
Make execute, change_column and remove_columns methods actually irreversible
[#8267]
Update Migration and 4.0 Release Guides, Changelogs [#8267]
Fix broken test for postgresql

For some reason postgresql doesn't pass an integer value to load.

cc @tenderlove
BufferedLogger is deprecated too.
Updated security guide with information about secret_token.rb and to suggest securing sensitive files like database.yml and secret_token.rb
Merge pull request #8581 from garysweaver/security_guide_update

Update security guide
Remove ActiveModel::Errors#add_on_present method.

We don't need to define a new method in ActiveMode::Errors for each
validatior.

See
https://github.com/rails/rails/commit/d72a07f1d1478db9daed847eadb35bfd840674f6#commitcomment-2325333
Use :present as key for the absence validatior message
Remove CHANGELOG entry for ActiveModel::Errors#add_on_present
Merge pull request #7376 from dmitriy-kiriyenko/fix-double-callback-in-same-statement

Prevent callback from being set twice.

Conflicts:
	activesupport/CHANGELOG.md
Updated security guide to reference secret_key_base instead of secret_token, with a little information about the change from CookieStore to EncryptedCookieStore.
Merge pull request #8584 from garysweaver/security_guide_update

Updated security guide to reference secret_key_base instead of secret_token