[ci skip] Add explanation on Rack::Sendfile and fix serve static files setting.
adding load_path to include active_model in the load path of example
similar to activerecord/examples/simple.rb
build association tree thing on demand.

`instantiate` is only called once, so there is no reason to cache the
data structure on the instance and mutate itself.
don't access the reflections hash

The reflections hash is supposed to be private, so let's use the API.
this method is only ever called with a reflection

Stop typechecking the parameter.  We know the type.
we know the keys are scalars, so avoid some typechecking
transform the association input so we can avoid type checks later.

We should consider moving the input munging outside the class
instantiation
we can get a list of reflections from the join parts, so let's remove
the @reflections ivar.
keys are always symbols
associations is always a hash
use the API rather than accessing underlying data structures
cache join associations and join base on the stack

No reason to decompose the join objects on every iteration
Merge pull request #12470 from nameisvijay/activemodel_example_fix

adding load_path to include active_model in the load path of example
stop looking up the reflection multiple times
join parts in `build` are *always* new, so don't bother checking
Add documentation for after_touch [ci skip]
Fix the indentation
Move define_readers to class method since it doesn't need nothing from
the instance
Move define_writers to class level since we don't need anything from the
instance
Move define_constructors to class level