Don't let #{application,framework,full}_trace be nil

Those three can be nil when exception backtrace is nil. This happens and
that forced a couple of nil guards in the code. I'm proposing to make
those always return an array, even on nil backtrace.
[CI SKIP] Missing space.
Merge pull request #17636 from gsamokovarov/exception-wrapper-less-nils

Don't let #{application,framework,full}_trace be nil
Merge pull request #17635 from tgxworld/missing_space

[ci skip] Missing space in Active Job guide for referring to Action Mailer
add Nokogiri to docs generation guides
Rename #source_extract to #source_extracts in ExceptionWrapper

It returns multiple source extracts since 1ed264bc. Also cleaned its
result structure, as we no longer need the file in a code extract.
Merge pull request #17637 from gregmolnar/docs

add Nokogiri to docs generation guides [ci skip]
Don't show full trace on routing errors

Since dbcbbcf2bc58e8971672b143d1c52c0244e33f26 the full trace is shown
by default on routing errors. While this is a nice feature to have, it
does take the attention off the routes table in this view and I think
this is what most of the people look for in this page.

Added an exception to the default trace switching rule to remove that
noise.
Don't double check trace origin in  ExceptionWrapper#traces

If a trace isn't an application one, then it comes from a framework.
That's the definition of framework trace. We can speed up the traces
generation if we don't double check that.
Merge pull request #17638 from gsamokovarov/focus-application-trace

Don't show full trace on routing errors
Merge pull request #17639 from gsamokovarov/faster-exception-wrapper-traces

Don't double check trace origin in ExceptionWrapper#traces
Merge pull request #17630 from gsamokovarov/exception-wrapper-source-extract

Rename #source_extract to #source_extracts in ExceptionWrapper
added ActiveRecord::Relation#left_outer_joins

Example:
  User.left_outer_joins(:posts)
  => SELECT "users".* FROM "users" LEFT OUTER JOIN "posts" ON "posts"."user_id" = "users"."id"