Improve the testing guide [ci skip]

Improve the "Testing Rails Applications" guide adding a section for
testing helpers and a little note about associations with ActiveRecord
and YAML fixtures.

Also add a link to Fixture Builder ; yet another replacement for
fixtures such as Machinist or FactoryGirl.
Added SanitizeHelper to rails guide docs [ci skip]

Added SanitizeHelper to rails guide docs [ci skip]

Added SanitizeHelper to rails guide docs update [ci skip]
Creating an SSE class to be used with ActionController::Live.
Added Action View in 'rake about' [ci skip]
added String#to_date documentation to Rails 4 upgrade guide

[ci skip]
Removing obsolete html tags in favor of markdown code block.
Revert "Removing obsolete html tags in favor of markdown code block"

This reverts commit 157dc275da0ad38635337b7c1d96de656d91de8e.
Minor align BR tags with HTML void - with reference to the generators code change - https://github.com/rails/rails/commit/f038d4cc5fe1ac21f92c7e32c61ff85a0c816f3f
Add tests for ActiveModel::Serializers::JSON#as_json ordering
Avoid Skip in test, have a unified test for order
Remove extra case.
Rely on NoMethodError#name when deciding to raise DelegationError.

Different Ruby implementations present backtraces differently, as
it should be an information consumed by humans.
A better implementation should use data from the error, in this case
returned by NoMethodError#name.

Fixes issues with Rubinius, which presents backtraces differently from
MRI.
Refactor Duration#inspect

In preparing https://github.com/rails/rails/pull/11855, it took me a
minute to understand what was going on due to naming (parts refers first
to an attr_accessor, then to a local, and is then reassigned), but also
because the iterator conditionally builds nulls and then removes them.

I refactored to something much more functional-looking that I find
easier to read, but you may or may not. If you do, great! Enjoy! If
not, oh well, I tried. Can't win 'em all :)

Rationale:

* no name conflict between local var and attr_accessor
* no reassignment of local var
* algorithm spelled out in steps
* unused items in initial list filtered out early
* empty-list case handled early instead of reassigning local var
* no duplication of formatting strings ("0 seconds")

Benchmarks (after PR #11855 merged):

10000.times do
  1.second.inspect
end

original #inspect
   0.350000   0.000000   0.350000 (  0.354709)
   0.330000   0.000000   0.330000 (  0.331885)
   0.330000   0.000000   0.330000 (  0.334441)

refactored #inspect
   0.340000   0.000000   0.340000 (  0.340080)
   0.340000   0.010000   0.350000 (  0.345069)
   0.330000   0.000000   0.330000 (  0.335873)

10000.times do
  (1.day + 1.month + 2.minutes + 1.day).inspect
end

original #inspect
   0.400000   0.000000   0.400000 (  0.403027)
   0.400000   0.000000   0.400000 (  0.403781)
   0.390000   0.000000   0.390000 (  0.387596)

refactored #inspect
   0.400000   0.010000   0.410000 (  0.399792)
   0.400000   0.000000   0.400000 (  0.404145)
   0.400000   0.000000   0.400000 (  0.403820)
Merge pull request #11856 from dchelimsky/refactor-duration-inspect

Refactor Duration#inspect
defines a new :abort deprecation behaviour that raises

See the CHANGELONG message in the patch for further details.
fixes typo in CHANGELOG
renames the :abort deprecation behaviour to :raise

That is a better name, thanks @jeremy.
Add plural form example for AR I18n section [ci skip]
Merge pull request #11861 from sadjow/improve-doc-translations-active-record-models

Add plural form example for AR I18n section [ci skip]
using assert_not instead of refute