Refactor `PredicateBuilder` from singleton to instance
Merge pull request #17886 from mrgilman/refactor-predicate-builder

Refactor `PredicateBuilder` from singleton to instance
Refactor `build_from_hash` to convert dot notation to hash first

This ensures that we're handling all forms of nested tables the same way.

We're aware that the `convert_dot_notation_to_hash` method will cause a
performance hit, and we intend to come back to it once we've refactored some of
the surrounding code.

[Melissa Xie & Melanie Gilman]
require 'rake' before requiring Rake tasks

Without this,
% rails r "require 'rails/tasks'"
would cause a NoMethodError: undefined method `desc' for main:Object
Merge pull request #17888 from mrgilman/dot-notation

Refactor `build_from_hash` to convert dot notation to hash first
Require missing association in test
Fix "nonexistent" typo in tests
remove useless methods
Merge pull request #17889 from mxie/mx-fix-nonexistent-typo

Fix "nonexistent" typo in tests
[ci skip] remove references to `Numeric#from_now`
Merge pull request #17892 from y-yagi/active_support_core_extensions_guide

[ci skip] remove references to `Numeric#from_now`
Merge pull request #17890 from sergey-alekseev/remove-useless-methods

remove useless methods
skip test to get `sqlite3_mem` suite passing.
document that `.delete` does work on `#readonly?` records. Closes #11860

[ci skip]

This is due to the fact that `.delete` is directly translated to SQL.
It tries to follow the same rules as `.delete_all` which is not able
to verify that records are `#readonly?`.