Expand bi-directional associations guide [ci skip]
Expand bi-directional associations guide [ci skip]

I remember being confused about what exactly association inverses would
do for me. This guide helped, but it leaves out some use cases. I'm hoping
that having all these use cases documented in one place with code
examples for each will make it easier for folks to understand why
they might want to set `:inverse_of` when Rails can't infer it.

Specifically, this commit:

* Adds an example explicitly demonstrating that all the `Author` objects
  are the same, and that no additional queries are executed.
* Preserves the example around preventing inconsistent data (although
  replaces the single-letter variable names)
* Adds an example around autosaving, which I'm not sure is explicitly
  documented elsewhere
* Adds an example around validations, linking to the relevant sections
  of the validation guide where we mention needing to set the
`:inverse_of` for these validations

This commit also adds links from the `:inverse_of` sections back up to
the Bi-directional associations sections, hopefully making those
`:inverse_of` sections clearer.

kmcphillips/rails,kddeisz/rails,Erol/rails,BlakeWilliams/rails,MSP-Greg/rails,kmcphillips/rails,BlakeWilliams/rails,yahonda/rails,yawboakye/rails,yahonda/rails,rails/rails,georgeclaghorn/rails,georgeclaghorn/rails,georgeclaghorn/rails,Edouard-chin/rails,yawboakye/rails,Edouard-chin/rails,Edouard-chin/rails,yawboakye/rails,esparta/rails,esparta/rails,MSP-Greg/rails,yahonda/rails,Erol/rails,kmcphillips/rails,kddeisz/rails,yawboakye/rails,rails/rails,yahonda/rails,kddeisz/rails,Edouard-chin/rails,rails/rails,kddeisz/rails,Erol/rails,georgeclaghorn/rails,esparta/rails,MSP-Greg/rails,rails/rails,BlakeWilliams/rails,kmcphillips/rails,esparta/rails,Erol/rails,BlakeWilliams/rails,MSP-Greg/rails