Revise 'sqlite3:' URL handling for smoother upgrades

Restore the 4.0 behaviour for 'sqlite3:///', but deprecate it. We'll
change to the absolute-path interpretation in 4.2.

The current "correct" spellings for in-memory, relative, and absolute
URLs, respectively, are:

    sqlite3::memory:
    sqlite3:relative/path
    sqlite3:/full/path

Substantially reverses/defers fbb79b517f3127ba620fedd01849f9628b78d6ce.
Uncovered by @guilleiguaran while investigating #14495, though that
sounds like a different issue.
Complete change of `sqlite3:///` path handling

That which was now relative is now absolute.
Fix error when using `with_options` with lambda.

It was causing error when using `with_options` passing a lambda as its
last argument.

    class User < ActiveRecord::Base
      with_options dependent: :destroy do |assoc|
        assoc.has_many :profiles, -> { where(active: true) }
      end
    end

It was happening because the `option_merger` was taking the last
argument and checking if it was a Hash. This breaks the HasMany usage,
because its last argument can be a Hash or a Proc.

As the behavior described in this test:
https://github.com/rails/rails/blob/master/activesupport/test/option_merger_test.rb#L69
the method will only accept the lambda, this way it will keep the expected behavior. See 9eaa0a34
Merge pull request #14569 from matthewd/sqlite_relative_deprecated

Revise 'sqlite3:' URL handling for smoother upgrades

Conflicts:
	activerecord/CHANGELOG.md
Explicitly load Kernel#y when starting a console

Previously, we relied on the IRB-detection in Psych itself. But that
doesn't work when we're running under spring: the application boots (and
thus psych is required) before we switch to console mode and load IRB.

Fixes #14587.
Merge pull request #14588 from matthewd/kernel_y_with_spring

Explicitly load Kernel#y when starting a console
Improve error message for guides:generate:kindle

With `kindlegen` missing from the PATH, the task
keeps suggesting to `gem install kindlerb`.
This change provides a more meaningful error
message for guides:generate:kindle.
Merge pull request #14590 from czak/improved_kindlerb_error_message

Improve error message for guides:generate:kindle
Merge pull request #14572 from laurocaetano/with_options_and_scope

Fix error when using `with_options` with lambda.

Conflicts:
	activerecord/CHANGELOG.md
Block a few default Class methods as scope name.

Add tests to make sure scopes cannot be create with names such as:
private, protected, public.
Make sure enum values don't collide with those methods too.
Merge pull request #14582 from arthurnn/blacklist_ruby_methods

Blacklist ruby keywords for scopes
Merge branch 'rails-master'