Fix migrations with enable_extension

When using ActiveRecord::Base.table_name_prefix and/or
table_name_suffix, extension names got the same treatment as table names
when running migrations. This led to migrations that tried to call, for
example, enable_extension("prefix_hstore") on the connection.
Allow custom asset host to be passed in asset_url
Improve documentation for asset_url

Updated CHANGELOG.md with entry about :host in asset_url
Fixed duplicate subscribers in ActiveSupport::Subscriber

ActiveSupport::Subscriber no longer creates multiple subscribers when
you redefine a method.
Small refactoring on clear_transaction_record_state

Make sure when we clean the `@_start_transaction_state` var we do it in
the same code-path.
Also this makes `clear_transaction_record_state`, more consistent with `restore_transaction_record_state`
Clear transaction state if callback raise rollback
Fix `Relation#delete_all` inconsistency

When relation scopes include one of `uniq`, `group`, `having` or
`offset`, the generated query ignores them and that causes unintended
records to be deleted. This solves the issue by restricting the deletion
when those scopes are present.

rails/rails#11985
fixed a typo [ci skip]
Merge pull request #15133 from ShunsukeAida/master

fixed a typo
Document conflicts in `db/schema.rb` [ci skip]
Merge pull request #15113 from leafac/document-schema-conflicts

Document conflicts in `db/schema.rb` [ci skip]
Remove code related to adapter which are no longer in repo

As we have remove code for these adapters so no need to have tasks
Our test suite isn't ready to run in random order yet :cry:
Merge pull request #15021 from hubertlepicki/allow_custom_host_in_asset_url

Allow custom asset host to be passed in asset_url
Merge pull request #15131 from arunagw/aa-cleanup-rakefile

Remove code related to adapter which are no longer in repo
Merge pull request #15125 from arthurnn/small_refactoring_transaction_clear

Small refactoring on clear_transaction_record_state
Add a specific method to force the transaction record state clear

We are using that code path in only one place so we should not add a
conditional to all the other cases. This will avoid performance
regressions on the old paths.
Missed if :bomb:
Reuse the force_clear_transaction_record_state
prepend mutates the string so we can remove the assignment