Still touch associations when theres no timestamp

Prior to Rails 4.0.4 when touching a object which doesn't have timestamp
attributes (updated_at / updated_on) rails would still touch all
associations. After 73ba2c14cd7d7dfb2d132b18c47ade995401736f it updates
associations but rollsback because `touch` would return nil since
there's no timestamp attribute
use ARel factory methods for building AST nodes

This abstracts us from the actual construction of the nodes
do not rely on method_missing hitting arel

arel methods are not supposed to be public API for ActiveRecord
synchronize changelogs and 4.1 release notes. [ci skip]

Conflicts:
	actionpack/CHANGELOG.md
	activerecord/CHANGELOG.md
	activesupport/CHANGELOG.md
	railties/CHANGELOG.md
update comments to reflect that options support is not available
Merge pull request #14477 from fcheung/options_test_method

Support the options methods in tests
Fix Generation of proper migration when
  ActiveRecord::Base.pluralize_table_names = false.

  Previously, generation a migration like this:

      rails g migration add_column_name_to_user name

  would not generating the correct table name.

Fixes #13426.
Merge pull request #13440 from kuldeepaggarwal/pluralize_table_name_issue

Generating proper migration when ActiveRecord::Base.pluralize_table_names = false
clarify CHANGELOG [ci skip].
Revert "Merge pull request #8313 from alan/only_save_changed_has_one_objects"

This reverts commit 6e3ab3e15faf782f6a937ccf5574a4fb63e3e353, reversing
changes made to 39e07b64ce3f4bb55e60ba0266e677f8e4f4893a.

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/test/cases/autosave_association_test.rb
Merge pull request #14390 from huoxito/true-touch

Still touch associations when theres no timestamp
Use rails convetions
Fix the update_versions release task
Fix task comment to match which file should be changed

[ci skip]