[ci skip] Add Doc of with_options for the case when inherited default options and original options have same keys
AR::UnknownAttributeError should include the class name of a record

This would be helpful if 2 models have an attribute that has a similar
name to the other. e.g:

before:

    User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"])
    # => ActiveRecord::UnknownAttributeError: unknown attribute: name

after:

    User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"])
    # => ActiveRecord::UnknownAttributeError: unknown attribute on User: name
Use include_blank value as option label

Update select_tag to reflect documentation and behave the same as form builder select. If the value of include_blank is not boolean true, use that value as the option label.
Merge pull request #17034 from pramod-sharma/master

[ci skip] Add Doc of with_options for the case when inherited default options and original options have same keys
Replace (slower) block.call with (faster) yield

Performance optimization: `yield` with an implicit `block` is faster than `block.call`.
See http://youtu.be/fGFM_UrSp70?t=10m35s and the following benchmark:

```ruby
require 'benchmark/ips'

def fast
 yield
end

def slow(&block)
 block.call
end

Benchmark.ips do |x|
 x.report('fast') { fast{} }
 x.report('slow') { slow{} }
end

# => fast    154095 i/100ms
# => slow     71454 i/100ms
# =>
# => fast  7511067.8 (±5.0%) i/s -   37445085 in   4.999660s
# => slow  1227576.9 (±6.8%) i/s -    6145044 in   5.028356s
```
[ci skip] Add Doc of with_options for the case when inherited default options and original options have same keys
[ci skip] Add a note about headers overwriting

Since some headers can appear multiple times in an email it's required
to set it to nil first when you want to overwrite an existing one.

This commit add some information about this process.

Fix #15912
Merge branch 'master' of github.com:rails/rails
Revert "Replace (slower) block.call with (faster) yield"

This reverts commit 0ab075e75f58bf403f7ebe20546c7005f35db1f6.
Merge pull request #17302 from claudiob/replace-slower-block-call-with-faster-yield

Replace (slower) block.call with (faster) yield
[ci skip] Fix word wrap, capitalization, and spacing of text from #17284
[ci skip] A Rails engine is not a man :ok_woman:
[ci skip] add :queue option to deliver_later and deliver_later! documentation
Merge pull request #17314 from y-yagi/message_delivery_doc

[ci skip] add :queue option to deliver_later and deliver_later! documentation
:nail_care: it's -> its (see comments on 9a586ac)
make guides example more friendly to nonlatin langs
Merge pull request #17318 from igas/guides-more-friendly-for-nonlatin

make guides example more friendly to nonlatin langs [ci skip]
fix wrong #17318 [ci skip]
Merge pull request #17319 from igas/fix-17318

fix wrong example from #17318 [ci skip]
Make _status_code methods nodoc

- Also one minor change for documenting url_for method in ActionController::Metal.
[ci skip]