Add a note on custom validation contexts.

The documentation on `:on` for validations was inconsistent, and most
only referenced the `:create` and `:update` contexts. I fixed those to
be consistent with the documentation on `AM::Validations.validates`,
which seemed to have the best docs.

[ci skip]
[ci skip] add guide for ActiveModel::SecurePassword
'Reversible' ->active_record_migrations [ci skip]

Reversible method documentation moved from migrations.md  to active_record_migrations.md
'Revert' ->active_record_migrations [ci skip]

Revert method documentation moved from migrations.md  to active_record_migrations.md
[ci skip] Fix some typos, normalize sentence.

Follow up of #16722.

https://github.com/rails/rails/pull/16722

also normalize all instance gained methods’ sentence.
form_helpers: demonstrating there is also a collection_select method in form builder
[ci skip] Fix code snippet display in Action Mailer Basics guide.
Consistently capitalize ETag.
Consistently markup etag options.
Add +variants to ActionView::FileSystemResolver documentation.
Merge pull request #17070 from felipecvo/master

Add +variants to ActionView::FileSystemResolver documentation.
Don’t require already required modules

abstract_unit.rb requires `action_controller` which [already includes the following lines of code](https://github.com/rails/rails/blob/64fcdce1d3a6a8768ab17f3be144270456814f82/actionpack/lib/action_controller.rb#L2L3):

```ruby
require 'abstract_controller'
require 'action_dispatch'
```
Merge pull request #17071 from claudiob/don-t-require-action-dispatch-twice

Don’t require already required modules
Preparing for 4.2.0.beta2 release
Add documentation about `config.action_dispatch.rescue_responses`

[ci skip]
Merge pull request #17076 from yuki24/write-doc-for-rescue-responses

Add documentation about rescue_responses in Configuring [ci skip]
Move object allocation out of loop

Right now BenchmarkCleaner allocates hundreds of strings on every request with an exception. This patch moves those strings to be generated at boot once and re-used.

## Bench Methods

I took a modified form of CodeTriage https://github.com/schneems/codetriage-ko1-test-app/blob/master/perf.rake and ran given rake tasks with and without the patch to BacktraceCleaner.

I made an endpoint results in exception

```
  def index
    raise “foo"
  end
```

The gem `memory_profiler` was used to capture objects allocated for a single request. Then `benchmark/ips` was used to test the speed of the patch.

You will see that we use less objects and the code becomes measurably faster with this patch.

## With patch:

Memory for one request:

```
Total allocated 7441
Total retained 37
```

Requests per second:


```
Calculating -------------------------------------
                 ips         4 i/100ms
-------------------------------------------------
                 ips       43.0 (±4.7%) i/s -        216 in   5.037733s
```


## Without patch:

Memory used for one request:


```
Total allocated 11599
Total retained 35 
```

Requests per second:

```
Calculating -------------------------------------
                 ips         3 i/100ms
-------------------------------------------------
                 ips       39.4 (±7.6%) i/s -        198 in   5.052783s
```

## Analysis

The patch is faster:

```
(43.0 - 39.4 ) / 39.4 * 100
# => 9 # % ~ speed bump
```

It also allocates less objects:

```
11599 - 7441
# => 4158
```

These strings are allocated on __EVERY SINGLE REQUEST__. This patch saves us 4158 objects __PER REQUEST__ with exception.

Faster errors == Faster applications
[ci skip] fix typo in set examples
Merge pull request #17079 from y-yagi/patch-1

[ci skip] fix typo in set examples
some object allocation reduction for new AR objects

Benchmark:

```ruby
require 'objspace'
require 'active_record'

ActiveRecord::Base.establish_connection adapter: "sqlite3",
                                        database: ":memory:"

ActiveRecord::Base.connection.instance_eval do
  create_table(:articles) { |t| t.string :name }
end

class Article < ActiveRecord::Base; end
a = Article.create name: "foo"
a = Article.find a.id

N = 10
ObjectSpace::AllocationTracer.trace do
  N.times { Article.find a.id }
end
ObjectSpace::AllocationTracer.allocated_count_table
table.sort_by { |_,x| x }.each do |k,v|
  p k => (v / N)
end
```