use instance method to retreive spy.

because BasicObject doesn't have `class` method, can't refer the class
when spying some message.
don't spy __CRISPY_SPY__ by mistake.

it happenes when doing spy_into and spy_into_instance against an object
of the same class.
add RecievedMessageWithReceiver