Fix spies leaking

Fix issues with spies leaking

- Explicitly stop spying on objects after each example
- No longer relies on the timing of CDRSpyInfo instances being deallocated
- This fixes leaking caused by release messages being lost after the currentSpies__ set is cleared
- Spies now forward the private -retainWeakReference method to their real object which fixes overrelease bugs for objects which use a different reference counting implementation than NSProxy (e.g. some UIKit objects)

[#69580040]