cache the name and options on the stack
get the name from the reflection
push methods that don't depend on the instance to the class
we can define callbacks without a builder instance
Merge branch 'master' into habtm

* master:
  we can define callbacks without a builder instance
  push methods that don't depend on the instance to the class
  get the name from the reflection
  cache the name and options on the stack
  decouple belongs_to callback definition from the builder instance.
  add_before_destroy_callbacks doesn't depend on the instance, so push it to the class.
  valid_options doesn't depend on the instance, so push it to the class
  use the information on the reflection to determine whether callbacks should be added
  Running all isolated test for actionview
  association builder is no longer needed for counter cache, so remove it
  push constructable? on to the reflection
  Adds the Rails maintenance policy to the Guides
  name is on the reflection, so just use the reflection
  decouple define_callback from the instance
  Added activemodel as a explicit dependency
  unify `Fixes` notes in AR changelog. [ci skip].
  improving `reload` doc wording. #12418 [ci skip]
  Update AR reload doc for the case of manually set primary key attribute [ci skip]
call the class method to define the callbacks
copy-edits the new guide with our maintenance policy [ci skip]
have the builder create the middle reflection
keep track of the left and right reflections and expose those
goodbye has_and_belongs_to_many1, we will miss you!
repurpose the HABTM builder class
remove HABTM special cases from the fixtures
remove HABTM special cases from associations classes
remove the HABTM preloader
remove HABTM special cases from reflections
remove HABTM associations
add a note to the changelog
Merge branch 'master' into habtm

* master:
  copy-edits the new guide with our maintenance policy [ci skip]
remove some duplicate code
add missing require