Merge pull request #17860 from SamSaffron/fix_engine_backtrace

FIX: absolute_path may be nil for code added via instance_eval
Remove environment dependency for db:schema:load

All of the behavior :environment was giving (that db:schema:load needed)
was provided as well with :load_config.

This will address an issue introduced in
https://github.com/rails/rails/pull/15394. The fact that db:schema:load
now drops and creates the database causes the Octopus gem to have [an
issue](https://github.com/tchandy/octopus/issues/273) during the drop
step for the test database (which wasn't happening in db:schema:load
before). The error looks like:

    ActiveRecord::StatementInvalid: PG::ObjectInUse: ERROR:  cannot drop the currently open database
    : DROP DATABASE IF EXISTS "app_test"

Because of the timing, this issue is present in master, 4-2-*, and
4.1.8.

A note to forlorn developers who might see this: "Additionally" in a
commit message means you should have a separate commit, with a separate
justification for changes. Small commits with big messages are your
friends.
Merge pull request #17964 from carols10cents/improve-after-commit-argumenterror-message

Make error message clearer that :on requires a symbol, not a string
Allow custom handling of non-standard types in `time_zone_conversion`

PostgreSQL for example, allows infinity as a valid value for date time
columns. The PG type has explicit handling for that case. However, time
zone conversion will end up trampling that handling. Unfortunately, we
can't call super and then convert time zones.

However, if we get back nil from `.in_time_zone`, it's something we
didn't expect so we can let the superclass handle it.

Backport of 42418cfc94d1356d35d28d786f63e7fab9406ad6 and
65588b7463b227fd63f73b56b3df9d3ea5ab8996
Fixes #17971
tests, run `test_test.rb` with `RAILS_ENV=test`.

The tests to verify our testing setup used `RAILS_ENV=development`
to execute the tests. Let's keep it as close to a real-world setup
as possible.
Merge pull request #17739 from rails/bring_back_db_test_prepare

bring back `db:test:prepare`.
Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/migration.rb

This also includes the initializer-order-fix for Active Record
configurations. This patch breaks oracle-enahnced-adapter.

/cc @rafaelfranca @yahonda
Merge pull request #16011 from xjlu/token_and_options

Improve token_and_options regex and test
Merge pull request #17186 from tgxworld/header_authentication_token

Allow authentication header to not have to specify 'token=' key.

Conflicts:
	actionpack/CHANGELOG.md
Merge pull request #18021 from nateberkopec/fix-filter-param-symbol-dup

ParameterFilter shouldn't try to dup symbol keys
Fix handling of positional url helper arguments when format is false

There is no need to subtract one from the path_params size when there is
no format parameter because it is not present in the path_params array.

Fixes #17819.

(cherry picked from commit 1a50be823186082e8b5a29d8e9ea3a289318d9c1)

Conflicts:
	actionpack/CHANGELOG.md
	actionpack/lib/action_dispatch/routing/route_set.rb