Expand record spy to catch association configurations

This adds association configuration spying to the record spy. It
now catches `belongs_to`, `has_many` and `has_one` methods and
will allow inspecting the configuration.
Expand the record spy validations and callbacks

This adds `validate` to the validations and `after_initialize` to
the callbacks. This allows the record spy to spy on more of
ActiveRecord's configuration.