add include_hidden option to collection_check_boxes helper
Ensure LookupContext in Digestor selects correct variant

Related to: #14242 #14243 14293

Variants passed to LookupContext#find() seem to be ignored, so
I've used the setter instead: `finder.variants = [ variant ]`.

I've also added some more test cases for variants. Hopefully this
time passing tests will mean it actually works.
Unit test for mysql quote time usec
Change usec to 0 on tests that compare seconds

Avoid rounding problems with `.usec` method rounding the seconds when the
field doesn't persist the `.usec` piece.
Enhance docs for update_attribute [ci-skip]
Merge pull request #14363 from arthurnn/usec_tests_mysql56

Add more tests for mysql 5.6 microseconds + Fix tests
use method_defined? to check whether or not a method is defined
Merge pull request #14364 from why-el/better-docs-for-update-attribute

Enhance docs for update_attribute [skip ci]
Fix a grammatical error in the i18n guide [ci skip]
Merge pull request #14366 from sukolsak/grammar

Fix a grammatical error in the i18n guide
only write the jar if the response isn't committed

when streaming responses, we need to make sure the cookie jar is written
to the headers before returning up the stack. This commit introduces a
new method on the response object that writes the cookie jar to the
headers as the response is committed.  The middleware and test framework
will not write the cookie headers if the response has already been
committed.

fixes #14352
just ask the response for the commit status, we do not need to ask the jar
use the body proxy to freeze headers

avoid freezing the headers until the web server has actually read data
from the body proxy.  Once the webserver has read data, then we should
throw an error if someone tries to set a header
Use Sqlite3 adapter in examples

Two bits of example code use sqlite as an adapter, which doesn't exist.
Using the code verbatim will raise a LoadError exception:

    ActiveRecord::Base.establish_connection(
      "adapter"  => "sqlite",
      "database" => "db.sqlite"
    )
    # => LoadError: Could not load 'active_record/connection_adapters/sqlite_adapter'...

Considering this is code a lot of people new to Rails might be running,
it's especially confusing.

Closes #14367 [ci skip]
Don't pass variant in params, it's ignored

We're setting variant above, in request object directly
Don't create addition vars, use options[] directly
make tests pass on Ruby 2.2

Apparently we've been using a buggy feature for the past 6 years:

  https://bugs.ruby-lang.org/issues/9593
passing an ActiveRecord object to `exists?` is deprecated.

Pass the id of the object to the method by calling `.id` on the AR
object.
passing an instance of an AR object to `find` is deprecated

please pass the id of the AR object by calling `.id` on the model first.
Test deprecation warning for passing an ActiveRecord object to
`exists?`