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
Fix `have_received(...).with(...).ordered`.

The arguments were not being considered. For #689.
Fix bug in `have_received(...).ordered`.

It worked properly when `as_null_object` or simple stubs
(via `dbl(stub_hash)` or `allow(...).to receive_messages`)
were used, but when an individual method was stubbed to allow
it to be spied on, it was registerd as one of the expectations
in the order group. When the first of multiple
`have_received(...).ordered` calls were made, it would fail
since the 2nd `have_received(...).ordered` call hadn't yet been
made but the invocation of both methods had already happened.

By ignoring stubs, it allows each `have_received` expectation
to consider only the messages that have been made part of the
order group (by the `ordered` call) so far.

Fixes #689
Merge pull request #691 from rspec/issue-689-have-received-ordered-bug

Issue 689 have received ordered bug
use format_args for expected in raise_expectation_error
specify received counts are correct and split expected/actual formatting so its correct
Merge pull request #682 from rspec/use_format_args_for_expected

Use matcher description when raising an expectation error for an unfulfilled expectation.
Forwardport 2.99.0 release notes. [ci skip]
Update changelog for v3.0.0. [ci skip]
Release 3.0.0
Rename to features-old.
Add staging environment for relish.
WIP: start working on new cukes
wip