Changed ActiveRecord::Associations::CollectionProxy#select to take multiple arguments.

This makes the arguments the same as ActiveRecord::QueryMethods::select.
Maintain proleptic gregorian in Time#advance

Time#advance uses Time#to_date and Date#advance to calculate a new date.
The Date object returned by Time#to_date is constructed with the assumption
that the Time object represents a proleptic gregorian date, but it is
configured to observe the default julian calendar reform date (2299161j)
for purposes of calculating month, date and year:

  Time.new(1582, 10, 4).to_date.to_s           # => "1582-09-24"
  Time.new(1582, 10, 4).to_date.gregorian.to_s # => "1582-10-04"

This patch ensures that when the intermediate Date object is advanced
to yield a new Date object, that the Time object for return is contructed
with a proleptic gregorian month, date and year.
Deprecate unused `symbolized_base_class` and `symbolized_sti_name`.

These methods were only used for the `IdentityMap` which was removed.
They are no longer used internally and should be removed without replacement.

As they were not `:nodoc:`'ed it's better to deprecate them before removal.
Fix documentation for end_year option of date_helper [ci skip]

- While editing an existing record, end_year is equal to current selected year plus 5 by default.
- While editing an existing record, start_year is equal to current selected year value minus 5 by default.
- Fixes #13552

Acked-by: Prathamesh Sonpatki <csonpatki@gmail.com>

Acked-by: Prathamesh Sonpatki <csonpatki@gmail.com>
Building new records with enum scopes now works as expected

Previously, this would give an `ArgumentError`:

   class Issue < ActiveRecord::Base
     enum :status, [:open, :finished]
   end

   Issue.open.build # => ArgumentError: '0' is not a valid status
   Issue.open.create # => ArgumentError: '0' is not a valid status

PR #13542 muted the error, but the issue remains. This commit fixes
the issue by allowing the enum value to be written directly via the
setter:

   Issue.new.status = 0 # This now sets status to :open

Assigning a value directly via the setter like this is not part of the
documented public API, so users should not rely on this behavior.

Closes #13530.
Whitespace [ci skip]
Merge pull request #13579 from prathamesh-sonpatki/issue-13552

Fix documentation for end_year option of date_helper [ci skip]
No need to use fixed size font [ci skip]
mem_cache_store requires dalli, so only accept dalli/client

:mem_cache_store require dalli, rescue Dalli exceptions, and follow Dalli API.
Memcached gem, for instance, doesnt work anymore, as the API are different.

As we already require one client, we should make sure that client works, and not accept others, and if someone wants to use another memcache client they can write their own store adapter.
Merge pull request #10134 from derikson/collection_proxy_select_with_multiple_args

Change CollectionProxy#select to take the same arguments as ActiveRecord::select
Minor typo fix [ci skip]
Raise if MemCacheStore doenst receive a Dalli obj

:mem_cache_store should receive a list of hosts or a dalli client,
otherwise raise it.
Also adding a changelog.
Merge pull request #13583 from arthurnn/mem_cache_store_fix

mem_cache_store requires dalli, so only accept dalli/client
Change all "can not"s to the correct "cannot".
Merge pull request #13584 from tjschuck/cannot_cannot_be_can_not

Change all "can not"s to the correct "cannot"
Add deprecation I accidentally missed
Fix mergefail in changelog

The line was duplicated
Fixed  documentation. [ci skip]
Merge pull request #13587 from kud86/change_truncate_examples

Fixed truncate documentation. [ci skip]
provide correct example of `datetime_select` helper [ci skip]