Build fix when running in isolation

`Computer` class needs to be require

See #17217 for more details
Use `DelegateClass` instead of `SimpleDelegator` for type decorators

There is a significant performance difference between the two. Closes
Merge pull request #17620 from arunagw/aa-build-fix-isolated

Build fix when running in isolation
Simplify and fix grammar

[skip ci]
Merge pull request #17623 from jonatack/patch-8

Simplify and fix grammar [ci skip]
Revert "Improve performance of AR object instantiation"

This reverts commit 8fee923888192a658d8823b31e77ed0683dfd665.

Conflicts:
	activerecord/lib/active_record/attribute_set/builder.rb

This solution sucks, and is hard to actually apply across the board.
Going to try other solutions
Reduce the amount of work performed when instantiating AR models

We don't know which attributes will or won't be used, and we don't want
to create massive bottlenecks at instantiation. Rather than doing *any*
iteration over types and values, we can lazily instantiate the object.

The lazy attribute hash should not fully implement hash, or subclass
hash at any point in the future. It is not meant to be a replacement,
but instead implement its own interface which happens to overlap.
Correctly determine if an attribute is uninitialized

In real usage, we give the builder a types hash with a default value of
`Type::Value.new`. This means we need to explicitly check for the key,
rather than the truthiness of the type to determine if it's a known but
uninitialized attribute
Allow `LazyAttributeHash` to be marshalled

`default_proc` makes a hash unmarshallable, and adds unneccessary
overhead. Since we control all access to the hash, let's just handle it
in that method. This has the side effect of improving performance on
initialization (but not neccessarily on access). We'll need to profile
further once the tests are passing.
Don't freeze the same hash we use for memoization
[ci skip] add "Qu" to Backends Features list
Merge pull request #17626 from y-yagi/queue_adapters_doc

[ci skip] add "Qu" to Backends Features list
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.