Revert "methods are defined right after the module_eval, so we don't need to do"

This change breaks tests in activesupport/test/core_ext/module_test.rb:

* test_delegation_exception_backtrace
* test_delegation_exception_backtrace_with_allow_nil

This reverts commit 0167765e3f84260522bc2f32d926c1f5dd44957c.
Fix test for cache_key + touched

Ensure the child can actually be touched. The `Bulb` model has no
timestamp column, thus trying to touch it would return `nil`.
Make AR::Base#touch fire the after_commit and after_rollback callbacks
Merge branch 'ca-touch-commit-callbacks'

Make AR::Base#touch fire the after_commit and after_rollback callbacks.

Closes #12031.
ActiveRecord::Relation#pluck allows to get attributes of associations

ActiveRecord::Relation#pluck now can get attributes from associated models using a hash
like `Model.pluck(:id, :name, child: [:id, :name, { nested_child: :address }])`