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.
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
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
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
Remove the assignment for real this time.

cc:
https://github.com/rails/rails/commit/a11e2fcff8cdc9691b977d8330abe63024f8c732#commitcomment-6353614
and 0369dbf
Merge pull request #15139 from zzak/habtm_build_model_name

Remove the assignment for real this time.
Remove unecessary require
Merge pull request #15140 from arthurnn/small_cleanup

Remove unecessary require
Reorganize ActiveRecord tasks [Arun Agrawal & Abd ar-Rahman Hamidi]
remove trailing whitespace. [ci skip]
doc, pg `hstore` and `json` columns are mapped as `Hash`. [ci skip]

Closes #15141.
Generate the cookies_serializer configuration with :marshal when upgrading

We were generating this configuration with :json what may break
applications upgrating from Rails 4.0-.

Now we always generate with a safer value and people is free to choose
hybrid if they want.

We don't generate with hybrid by default because there are some cases
that can fail. These cases are explained on the upgrading guide.