`find_in_batches` now returns an `Enumerator` when called without a block, so that it
can be chained with other `Enumerable` methods.
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]
Merge pull request #13877 from marcandre/find_in_batches

Mention find_each in find_in_batches doc [ci skip]
Merge pull request #13201 from marcandre/find_in_batch_enumerator

`find_in_batches` now returns an `Enumerator`

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/relation/batches.rb
Fix documentation of new controller filters api [ci skip]

The api for filters with classes change and the guides weren't updated.
Now the class must respond for methods with the same name as the filter,
so the `before_action` calls a `before` method, and so on.

The method `#filter` has been deprecated in 4.0.0 and has been removed
in 4.1.0: #7560
Merge pull request #13871 from kassio/fix-filters-with-classes-documentation

Fix documentation of filters api with classes [ci skip]