`find_in_batches` now returns an `Enumerator` when called without a block, so that it
can be chained with other `Enumerable` methods.
Replace Post with Article in getting started guide [ci skip]

- Used Article model instead of Post as it may confuse with 'post'
  requests
- Tried to wrap the guide to 80 chars lines as much as possible.
- Removed unused image
- Fixes #13764
Log which keys were set to nil in deep_munge

deep_munge solves CVE-2013-0155 security vulnerability, but its
behaviour is definately confuisng. This commit adds logging to deep_munge.
It logs keys for which values were set to nil.

Also mentions in guides were added.
Handle aliased attributes in AR::Relation#select, #order, etc.

With this we can write `Model#select(:aliased)`, `Model#order(:aliased)`,
`Model#reoder(aliased: :desc)`, etc.

Supplementary work to 54122067acaad39b277a5363c6d11d6804c7bf6b.
Merge pull request #11821 from kuroda/select-and-order-by-aliased-attributes

Handle aliased attributes in AR::Relation#select, #order, etc.
Added documentation for css_compressor
Merge pull request #13813 from lukesarnacki/log-deep-munge

Log for which keys values were set to nil in deep_munge
Merge pull request #13864 from sowjumn/master

Added documentation for css_compressor in asset_pipeline.md
scope is not necessary
always use a block for cleanup / prepare callbacks so we can clean the method signature
Correctly send the string given to lock! and reload(:lock) to the lock scope - fixes #13788

As per the documentation at lock!, if the :lock option is a string it should use the given SQL to generate the lock statement.
Merge pull request #13868 from mauricio/bug-13788

Correctly send the string given to lock! and reload(:lock) to the lock scope - fixes #13788
Allow session serializer key in config.session_store

MessageEncryptor has :serializer option, where any serializer object can
be passed. This commit make it possible to set this serializer from configuration
level.

There are predefined serializers (:marshal_serializer, :json_serialzier)
and custom serializer can be passed as String, Symbol (camelized and
constantized in ActionDispatch::Session namepspace) or serializer object.

Default :json_serializer was also added to generators to provide secure
defalt.
Merge pull request #13692 from lukesarnacki/change-default-session-serializer

Allow session serializer key in config.session_store
Update CHANGELOG properly with GH #13692 [ci-skip]
Fixed a bug in AR::Base#respond_to?

Before:

  >> ActiveRecord::Base.respond_to?(:find_by_something)
  NoMethodError: undefined method `abstract_class?' for Object:Class

After:

  >> ActiveRecord::Base.respond_to?(:find_by_something)
  => false
`scope` now raises on "dangerous" name conflicts

Similar to dangerous attribute methods, a scope name conflict is
dangerous if it conflicts with an existing class method defined within
`ActiveRecord::Base` but not its ancestors.

See also #13389.

*Godfrey Chan*, *Philippe Creux*
`enum` now raises on "dangerous" name conflicts

Dangerous name conflicts includes instance or class method conflicts
with methods defined within `ActiveRecord::Base` but not its ancestors,
as well as conflicts with methods generated by other enums on the same
class.

Fixes #13389.
Merge pull request #13450 from chancancode/ar_raise_on_conflict

Raise an error if `scope` or `enum` is about to add a conflicting method to the class

Fixed #13389
Mention find_each in find_in_batches doc [ci skip]