Refactor: use a local variable rather than re-fetching the recorder.
Don’t create unnecessary `any_instance` recorders.

Related to #687.
Only broadcast to any_instance_recorders for partial doubles.

For pure doubles this is unneeded.
Add spec to prevent future regressions of #687.

Fixes #687.
Access the ancestors through the singleton class.

This always works even if `class` has been stubbed.
Merge pull request #688 from rspec/dont-create-any-instance-recorder-unnecessarily

Dont create any instance recorder unnecessarily, and other cleanup