Fix occasional segfault when deallocating spied objects

This crash was hard to reproduce because it would only occur if the spy
was being deallocated and its memory address was going to be reused
shortly afterwards. In this case, we'd set the isa pointer back to a
CDRSpy, effectively overwriting some memory we no longer own.

Determining if you've been deallocated (or if any object has been, for
that matter) is hard.
Merge pull request #266 from jeffh/spy-segfault-fix

Fix occasional segfault when deallocating spied objects
Move Equal matcher implementation to private namespace

[#77215690]
Move BeCloseTo matcher to private namespace
Move BeFalsy matcher into private namespace
Move BeGreaterThan to a private namespace
Move BeGTE matcher into a private namespace
Move BeInstanceOf matcher to private namespace
Move BeLessThan matcher to private namespace
Move BeLTE matcher to private namespace
Move BeNil matcher to private namespace
Move BeLSameInstanceAs matcher to private namespace
Move BeTruthy matcher to private namespace
Move ConformTo matcher to private namespace
Move Exist matcher to private namespace
Move RaiseException matcher to private namespace
Move RespondTo matcher to private namespace
Move BeEmpty matcher to private namespace
Move Contain matcher to private namespace
Move AnInstanceOf to private namespace

[Finishes #77215690]